في Discourse، كنا حريصين على اعتماد YJIT منذ أن أعلن فريق البنية التحتية لـ Ruby on Rails في Shopify أنه جاهز للإنتاج. بعد مشاهدة نتائج قياسات محلية واعدة، بدأنا في تشغيل تطبيقات Rails الإنتاجية لدينا مع تمكين YJIT الخاص بـ Ruby 3.2 على مجموعات مختارة في أوائل مايو 2023. ثم قضينا بعض الوقت في قياس أدائه في العالم الحقيقي. يسعدنا مشاركة النتائج الإيجابية التي لاحظناها. بناءً على هذه النتائج، قمنا الآن بتمكين YJIT عبر جميع استضافاتنا، ويمكن للمستضيفين الذاتيين اختيار القيام بالشيء نفسه.
بدأنا في قياس أداء Discourse+YJIT منذ نوفمبر 2022، وبدأنا في تشغيل Meta تحت YJIT بشكل متقطع منذ يناير من هذا العام. YJIT هو أحد الأسباب التي دفعتنا لتسريع الترقية من Ruby 2.7 وصولاً إلى Ruby 3.2 في غضون بضعة أشهر، وأنا سعيد للغاية بوصوله أخيرًا. والأكثر من ذلك، أن التحسينات التي ستصل لـ Ruby 3.3 تبدو أفضل!
وبدون أي بيانات مقاسة وبناءً على ما يشعر به ويرى مستخدم واحد أو قليلون.
بالنسبة لي، أصبح هذا المنتدى أبطأ منذ فترة. أرى دائرة دوارة للحظة قصيرة في كل مرة أفتح فيها موضوعًا. بالتأكيد، يمكن، وبالتأكيد سيأتي من الخوادم والمسافات بين الولايات المتحدة وأوروبا. لكن ميتا أبطأ من ذي قبل.
بدأت في استخدام YJIT في منتدى الخاص بي وعندما يكون الخادم في ألمانيا والمستخدمون فنلنديون، يقول الجميع أن جميع المواضيع تفتح بشكل أسرع. هذا في الواقع مضحك للغاية لأننا لا نستطيع رؤية تغييرات أوقات التحميل النقية تحت 200 مللي ثانية.
لقد كنت أفكر في وقت تحميل صفحة ثابت (أو متسق) منذ فترة طويلة. حيث تكون أوقات التحميل لكل صفحة ولكل مستخدم متسقة قدر الإمكان.
المعلومات المتعلقة بالمستخدمين الفنلنديين مثيرة للاهتمام، وهذا جعلني أتساءل عما إذا كان بإمكاننا توجيه المستخدم بناءً على عنوان IP الجغرافي أو زمن الاستجابة إلى خادم مختلف بحمل مختلف فقط لتوفير وقت الاستجابة لهم.