سؤال

قررت أن أرى المدة التي ستستغرقها للتكرار من خلال مجموعة من الخلاص.أدناه هو الرمز:

giveacodicetagpre. يتم حساب

الوقت من خلال طرح الوقت الحالي بعد الحلقة من الوقت الحالي قبل الحلقة.

كان هذا هو مقدار الوقت الذي استغرق حسابه في Yarv 2.1.1، وفقا للرياضيات في الرمز:

giveacodicetagpre.

هنا كم من الوقت استغرقت في روبينيوس 2.2.6:

giveacodicetagpre.

و Jruby 1.7.12

giveacodicetagpre.

يفترض أن Rubinius and Jruby لديه مزايا الأداء على Yarv.لماذا يأخذون ما يقرب من 12 ضعف مقدار الوقت لأداء نفس العملية الأساسية؟هل هذا طبيعي أم أن لدي شيء تم تكوينه بشكل غير صحيح؟

هل كانت مفيدة؟

المحلول

أنت معيار مرات صغيرة جدا، والتي تتعرض للخطر بواسطة تحميل البيئة.في تجربتي، من أجل الحصول على معايير موثوقة يجب عليك الحصول على توقيت لا يقل عن 10 ثوان، من أجل تخفيف أوقات الاحماء.حوالي 10 ثوان أتوقع أن يكون JRURY أكبر أداء، تليها روبي وربيني.

دعونا نرى:

giveacodicetagpre.


giveacodicetagpre.

هذا هو الإخراج على جهازي (يمكنني استخدام الأسماك شل + rbenv، يجب عليك كتابة البرنامج النصي الخاص بك):

giveacodicetagpre.

كما كان من المفترض، JRURY هو الأسرع ب 4.367000، من روبي مع 8.188726 والأخير روبيني مع 14.193565.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top