هل جرب أحدكم تشغيل Discourse على truffleruby؟
هل من المنطقي النظر في هذا الاتجاه؟
مثير للاهتمام. أتساءل لماذا قرروا إنشاء نسخة مشتقة بدلاً من المساهمة؟
@merefield Truffleruby هو تنفيذ للغة Ruby من قبل فريق Oracle لـ GraalVM. يتميز بأداء ممتاز وقدرة عالية على التفاعل مع لغات أخرى على GraalVM.
إنه ليس نسخة مشتقة.
لدي بعض الخبرة في استخدام Rails مع Truffleruby، وأرغب في تجربة Discourse الأسبوع المقبل.
بعض المعلومات الإضافية - Running Rack and Rails Faster with TruffleRuby - Speaker Deck
يبدو ذلك مثيرًا للاهتمام. هل تتوقع أن تتمكن من تشغيل قاعدة كود Discourse الحالية دون تغييرات كبيرة؟ وما نوع التغييرات التي قد تكون مطلوبة؟
إجابة مختصرة: لا، لا يعمل حاليًا مع TruffleRuby.
@gerhard شكراً على الرابط، سيسهل عليّ فهم المشكلات الحالية.
العقبة الحالية هي mini_racer، انظر mini_racer: `rb_context_init_unsafe': External function cannot be found. · Issue #1827 · truffleruby/truffleruby · GitHub
ومع ذلك، فإن جميع الـ gems على الأقل تُثبّت على TruffleRuby، ونحن نختبر ذلك في CI (لبعض إصدارات Discourse الأقدم قليلاً).
تم إصلاح هذه المشكلة قبل 5 أيام.
للأسف، سيكون ماستودون، وليس ديسكورس، هو الأول الذي يعمل على ترافلروبي ![]()
@volanar نعم - ليس لدي وقت كافٍ للعودة إلى هذا السؤال الآن - وظيفة يومية مكثفة.
@eregon موجود هنا، ولست على علم بأي معوقات على truffle، لقد قمنا بدمج الإصلاحات الخاصة بـ mini racer العام الماضي.
براندون قام بتشغيل 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
آمل أن يتم حلها بسرعة ![]()
ما مدى تحسن مؤشرات أداء discourse في رأيك مع استخدام truffleruby (TTFB، الأداء العام، إلخ)؟
هل Brandon موجود على هذا الخادم؟
@Matthias_Schuster بحث سريع يظهر
هنا في ميتا.