يحاول هذا المشروع مقارنة سرعة لغات البرمجة المختلفة. في هذا المشروع، لا نهتم حقًا بالحصول على حساب دقيق لـ pi. نريد فقط أن نرى مدى سرعة عمل لغات البرمجة.
يستخدم تطبيق صيغة لايبنتز لـ π لإجراء المقارنة.
إليك مقطع فيديو يشرح كيفية عمله: حساب π يدويًا
يمكنك العثور على النتائج هنا: https://niklas-heer.github.io/speed-comparison/
أنا لست خبيرًا في كل هذه اللغات، لذا خذ نتائجي بحذر.
تظهر النتائج أيضًا مدى قدرة اللغات على التعامل مع عمليات الفاصلة العائمة، والتي تعد جانبًا واحدًا فقط من لغة البرمجة.
نرحب أيضًا بالمساهمة ومساعدتي في إصلاح الكود السيء المحتمل في بعض اللغات. ؟
يتم تشغيل كل شيء بواسطة حاوية Docker وبرنامج نصي bash الذي يستدعي البرامج.
لقياس وقت التنفيذ يتم استخدام حزمة بايثون.
Docker
يسمح Earthly بتشغيل كل شيء بأمر واحد:
earthly --config earthly-config.yml +all
سيؤدي هذا إلى تشغيل كافة المهام لجمع كافة القياسات ثم تشغيل التحليل.
لتجميع البيانات لجميع اللغات، قم بتشغيل:
earthly --config earthly-config.yml +collect-data
لتجميع البيانات لتشغيل لغة واحدة:
earthly --config earthly-config.yml + < replace me with language name >
لإنشاء ملف CSV المدمج من جميع النتائج، استخدم هذا الأمر:
earthly --config earthly-config.yml +analysis
لماذا تحسب أيضًا قراءة الملف وطباعة الإخراج؟
لأنني أعتقد أن هذا سيناريو أكثر واقعية لمقارنة السرعات.
هل يتم تضمين أوقات التجميع في القياسات؟
لا، لم يتم تضمينها، لأنه عند تشغيل البرنامج في العالم الحقيقي، سيتم تنفيذ ذلك من قبل أيضًا.
يتم إنشاء قائمة المساهمين تلقائيًا.
نيكلاس هير | فرانشيسكو اليمانو | يو تشو | جيري لينغ | غوت الأمل | frak0d |
جوناثان كارول | صديق أشيل | سيرجي جيني | غابرييل بارالدي | صموئيل | جو لاندمان |
سانديب كومار | ماتن | بال هارالدسون | أوسكار سميث | مايكل أبوت | لورينزو غابرييلي |
LazyKernel | كريس نورنبرجر | ديركي دوركي | غوي تشن وي | RDPatrickTheDev | فخور |
سيرجي تروفيموف | توماس أ كاسويل | توموهيرو | com.genmeblog | يوتا إيمازو | كوهي هوسوكي |
yinheli |
لإنشاء فائق الدقة والذي يستخدم في القياس الأساسي.
هذه المشاريع مستوحاة من توماس الذي أجرى مقارنة مماثلة على مدونته.