لعبة معايير لغة الحاسوب

لعبة معايير لغة الكمبيوتر (المعروفة سابقًا باسم The Great Computer Language Shootout ) عبارة عن مشروع برمجي مجاني لمقارنة كيفية تنفيذ مجموعة فرعية معينة من الخوارزميات البسيطة في لغات البرمجة الشائعة المختلفة .

يتكون المشروع من:

  • مجموعة من المشاكل الخوارزمية البسيطة جدًا
  • تنفيذات مختلفة للمشاكل المذكورة أعلاه في لغات برمجة مختلفة
  • مجموعة من اختبارات الوحدة للتحقق من أن التنفيذات المقدمة تحل بيان المشكلة
  • إطار عمل لتشغيل وتوقيت التنفيذات
  • موقع ويب لتسهيل المقارنة التفاعلية للنتائج

اللغات المدعومة

بسبب قيود الموارد، يتم دعم مجموعة فرعية صغيرة فقط من لغات البرمجة الشائعة، وذلك وفقًا لتقدير مشغل اللعبة. [1]

المقاييس

يتم قياس الجوانب التالية لكل تنفيذ معين: [2]

من الشائع أن نرى حلولاً متعددة في نفس لغة البرمجة لنفس المشكلة. وهذا يسلط الضوء على أنه ضمن قيود لغة معينة، يمكن تقديم حل يتمتع بقدر كبير من التجريد، أو كفاءة الذاكرة، أو السرعة، أو يمكن تنفيذه بشكل متوازي بشكل أفضل.

برامج المقارنة

كان اختيار التصميم منذ البداية هو تضمين مشكلات لعب بسيطة للغاية فقط، حيث توفر كل منها نوعًا مختلفًا من تحدي البرمجة. [3] وهذا يوفر لمستخدمي لعبة Benchmark الفرصة لتدقيق التنفيذات المختلفة. [4]

تاريخ

كان المشروع معروفًا باسم The Great Computer Language Shootout حتى عام 2007. [5]

تم صيانة منفذ لنظام Windows بشكل منفصل بين عامي 2002 و2003. [6]

تم أرشفة المصادر على GitLab. [7]

هناك أيضًا شوك أقدم على GitHub. [8]

يتطور المشروع باستمرار. يتم تحديث قائمة لغات البرمجة المدعومة مرة واحدة تقريبًا كل عام، وفقًا لاتجاهات السوق. يمكن للمستخدمين أيضًا تقديم حلول محسنة لأي من المشكلات أو اقتراح تحسين منهجية الاختبار. [9]

تحذيرات

ويؤكد المطورون أنفسهم على حقيقة مفادها أن أولئك الذين يقومون بالبحث يجب أن يتوخوا الحذر عند استخدام مثل هذه المعايير الدقيقة:

[...] إن معايير JavaScript صغيرة للغاية، وتتصرف بطرق مختلفة بشكل كبير عن التطبيقات الحقيقية. لقد وثقنا العديد من الاختلافات في السلوك، ونستنتج من هذه الاختلافات المقاسة أن النتائج المستندة إلى المعايير قد تضلل منفذي محرك JavaScript. وعلاوة على ذلك، لاحظنا سلوكيات مثيرة للاهتمام في تطبيقات JavaScript الحقيقية التي فشلت المعايير في إظهارها، مما يشير إلى أن استراتيجيات التحسين غير المستكشفة سابقًا قد تكون مثمرة في الممارسة العملية.

تأثير

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

وقد استندت العديد من المقالات البحثية على المعايير ونتائجها ومنهجيتها. [10] [11] [12] [13] [14 ] [15] [16] [17] [18] [19] [20] [21] [22] [ الاستشهادات المفرطة ]

انظر أيضا

مراجع

  1. ^ "لعبة معايير لغة الحاسوب". benchmarksgame-team.pages.debian.net/benchmarksgame . تم الاسترجاع في 29 مايو 2018 .
  2. ^ "كيف يتم قياس البرامج – لعبة معايير لغة الحاسوب". benchmarksgame-team.pages.debian.net/benchmarksgame/ . تم الاسترجاع في 29 مايو 2018 .
  3. ^ "لماذا نلعب بالبرامج؟ – لعبة معايير لغة الحاسوب". benchmarksgame-team.pages.debian.net/benchmarksgame . تم الاسترجاع في 29 مايو 2018 .
  4. ^ "n-body description (64-bit Ubuntu quad core) – Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame . تم الاسترجاع في 29 مايو 2018 .
  5. ^ "Trust, and verified – Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame . تم الاسترجاع في 29 مايو 2018 .
  6. ^ "المواجهة الكبرى بين لغات الكمبيوتر في نظام Win32". Dada.perl.it . تم الاسترجاع في 13 ديسمبر 2017 .
  7. ^ "archive-alioth-benchmarksgame". salsa.debian.org/benchmarksgame-team . تم الاسترجاع في 29 مايو 2018 .
  8. ^ Thiel, Sebastian (24 أكتوبر 2017). "benchmarksgame-cvs-mirror: A git mirror of the benchmarksgame cvs repository". GitHub . تم الاسترجاع في 13 ديسمبر 2017 .
  9. ^ "ساهم ببرنامجك الخاص – لعبة معايير لغة الحاسوب". benchmarksgame-team.pages.debian.net/benchmarksgame . تم الاسترجاع في 29 مايو 2018 .
  10. ^ كيفن ويليامز؛ جيسون ماكاندليس؛ ديفيد جريج (2009). "التفسير الديناميكي للغات البرمجة النصية الديناميكية" (PDF) . تم الاسترجاع في 25 مارس 2017 . {{cite journal}}: تتطلب المجلة الاستشهاد بها |journal=( مساعدة )
  11. ^ توبياس وريجستاد؛ فرانشيسكو زابا نارديلي؛ سيلفان ليبرسن يوهان؛ أوستلوند يان فيتيك (17-23 يناير 2009). دمج الكود المكتوب وغير المكتوب في لغة برمجة نصية (PDF) . POPL'10. مدريد، إسبانيا . تم الاسترجاع في 25 مارس 2017 .
  12. ^ ليرش، كارل (17-18 أبريل 2009). اكتب بسرعة روبي: الأمر كله يتعلق بالعلم (PDF) . مؤتمر جولدن جيت روبي. سان فرانسيسكو، كاليفورنيا . تم الاسترجاع في 25 مارس 2017 .
  13. ^ J. Shirako; DM Peixotto; V. Sarkar; WN Scherer III (2009). Phaser Accumulators: a New Reduction Construct for Dynamic Parallelism (PDF) . ندوة معهد مهندسي الكهرباء والإلكترونيات الدولية حول المعالجة المتوازية والموزعة . تم الاسترجاع في 25 مارس 2017 .
  14. ^ راجيش كارماني وأمين شالي وجول آغا (2009). "أطر عمل الجهات الفاعلة لمنصة JVM: تحليل مقارن" (PDF) . في وقائع المؤتمر الدولي السابع حول مبادئ وممارسات البرمجة في جافا . تم الاسترجاع في 26 مارس 2017 .
  15. ^ Brunthaler Stefan (2010). التخزين المؤقت المضمن يلتقي بالتسريع . المؤتمر الأوروبي للبرمجة الموجهة للكائنات (ECOOP). المجلد. البرمجة الموجهة للكائنات. ص. 429–451. doi :10.1007/978-3-642-14107-2_21.
  16. ^ Prodromos Gerakios؛ Nikolaos Papaspyrou؛ Konstantinos Sagonas (23 يناير 2010). تعدد المهام الخالي من السباقات والآمن للذاكرة: التصميم والتنفيذ في Cyclone (PDF) . وقائع ورشة عمل ACM SIGPLAN الخامسة حول الأنواع في تصميم اللغة وتنفيذها. مدريد، إسبانيا. ص. 15-26 . تم الاسترجاع في 25 مارس 2017 .
  17. ^ سلافا بيستوف؛ دانيال إيرينبيرج؛ جو جروف (18 أكتوبر 2010). Factor: A Dynamic Stack-based Programming Language (PDF) . DLS 2010. رينو/تاهو، نيفادا، الولايات المتحدة الأمريكية . تم الاسترجاع في 25 مارس 2017 .
  18. ^ Andrei Homescu; Alex Suhan (24 أكتوبر 2011). HappyJIT: A Tracing JIT Compiler for PHP (PDF) . DLS'11. بورتلاند، أوريغون، الولايات المتحدة الأمريكية . تم الاسترجاع في 25 مارس 2017 .
  19. ^ فينسنت سانت أمور؛ سام توبين هوخستادت؛ ماتياس فيليسن (19-26 أكتوبر 2012). التدريب على التحسين – يتعلم المحسنون كيفية التواصل مع المبرمجين (PDF) . OOPSLA'12. توسان، أريزونا، الولايات المتحدة الأمريكية . تم الاسترجاع في 25 مارس 2017 .
  20. ^ وينج هانج لي؛ ديفيد ر. وايت؛ جيريمي سينجر (11-13 سبتمبر 2013). اللغات المستضافة في JVM: يتحدثون عن الكلام، ولكن هل يطبقون ما يقولون؟ (PDF) . وقائع المؤتمر الدولي لعام 2013 حول مبادئ وممارسات البرمجة على منصة Java: الآلات الافتراضية واللغات والأدوات. شتوتغارت، ألمانيا. ص 101-112 . تم الاسترجاع في 25 مارس 2017 .
  21. ^ Aibek Sarimbekov; Andrej Podzimek; Lubomir Bulej; Yudi Zheng; Nathan Ricci; Walter Binder (28 أكتوبر 2013). خصائص لغات JVM الديناميكية (PDF) . VMIL '13. إنديانابوليس، إنديانا، الولايات المتحدة الأمريكية . تم الاسترجاع في 25 مارس 2017 .
  22. ^ برادفورد ل. تشامبرلين؛ بن ألبريشت؛ ليديا دنكان؛ بن هارشبرجر (2017). الدخول في المعركة: مدخل لعبة تشابل لمعايير لغة الكمبيوتر (PDF) . تم الاسترجاع في 25 مارس 2017 .
  • الموقع الرسمي
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=لعبة_معايير_لغة_الكمبيوتر&oldid=1210320309"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate