مناقشة حول Truffleruby

Has anyone tried having Discourse on the truffleruby?
Does it make sense to look in this direction?

إعجابَين (2)

Interesting. Why did they decide to fork not contribute I wonder?

إعجابَين (2)

@merefield Truffleruby is an implementation of Ruby for GraalVM by Oracle guys. Good performance and interoperability with other languages on GraalVM.
It’s not a fork.

I have some experience with Rails on Truffleruby and want to check Discourse next week.

Some additional information - Running Rack and Rails Faster with TruffleRuby - Speaker Deck

إعجاب واحد (1)

Sounds fascinating. Would you expect to be able to run the existing Discourse codebase without significant changes? What kind of changes might be needed?

إعجاب واحد (1)

Short answer: No, it currently doesn’t work on TruffleRuby.

5 إعجابات

@gerhard Thanks for the link, It will be easier for me to understand existing issues.

إعجاب واحد (1)

The current blocker is mini_racer, see https://github.com/oracle/truffleruby/issues/1827

That said, at least all gems install on TruffleRuby, we test that in CI (for some slightly older Discourse).

4 إعجابات

تم إصلاح هذه المشكلة قبل 5 أيام.

إعجابَين (2)

للأسف، سيكون ماستودون، وليس ديسكورس، هو الأول الذي يعمل على ترافلروبي :dotted_line_face:

إعجاب واحد (1)

@volanar نعم - ليس لدي وقت كافٍ للعودة إلى هذا السؤال الآن - وظيفة يومية مكثفة.

إعجاب واحد (1)

@eregon موجود هنا، ولست على علم بأي معوقات على truffle، لقد قمنا بدمج الإصلاحات الخاصة بـ mini racer العام الماضي.

إعجاب واحد (1)

براندون قام بتشغيل Discourse قبل عام:
https://twitter.com/brandonfish/status/1486755128577253376
https://twitter.com/brandonfish/status/1519726230936993792

إحدى المشكلات التي أتذكرها هي أن بعض الأحجار الكريمة تعتمد على Hash لكونها آمنة للخيوط (thread-safe)، ولدينا حل عام لذلك ولكنه لم يتم دمجه/دمجه بعد في TruffleRuby. من ناحية أخرى، من النادر جدًا أن يكون استخدام Hash بشكل متزامن صحيحًا، وغالبًا ما يؤدي إلى إخفاء أخطاء التزامن بطرق يصعب العثور عليها. لذا، من الأفضل ربما إصلاح الأحجار الكريمة التي تعتمد على ذلك، ولكن هذا يستغرق وقتًا.
نحن بحاجة إلى قياس الأداء، ولكي يكون ذلك ذا مغزى/تمثيليًا، يجب علينا قياس الأداء متعدد الخيوط. هذا يتطلب A way to mark C extensions as thread-safe, so they can be executed in parallel · Issue #2136 · truffleruby/truffleruby · GitHub

3 إعجابات

آمل أن يتم حلها بسرعة :face_with_peeking_eye:
ما مدى تحسن مؤشرات أداء discourse في رأيك مع استخدام truffleruby (TTFB، الأداء العام، إلخ)؟

إعجابَين (2)

هل Brandon موجود على هذا الخادم؟

@Matthias_Schuster بحث سريع يظهر

هنا في ميتا.

إعجابَين (2)