تكشف الدراسة التي أجراها باحثون برتغاليون أن لغة C هي لغة البرمجة الأكثر كفاءة من حيث وقت التنفيذ واستهلاك منخفض للطاقة (لوحدة المعالجة المركزية وذاكرة الوصول العشوائي). هذا هو نتيجة المعيار الذي تم تنفيذه بناءً على لعبة معايير لغة الكمبيوتر (CLBG) لمقارنة 27 لغة الأكثر شيوعًا مع المطورين. وتم نشر الورقة المتعلقة بهذه الدراسة لأول مرة في عام 2017 في المؤتمر الدولي لهندسة لغات البرمجيات (SLE) ؛ تم إجراء تحديث لهذا التحليل المقارن لعام 2020 ، ولكن فقط فيما يتعلق باللغات الوظيفية.
للعودة إلى نتائج الدراسة التي تم إجراؤها في البداية (2017) ، تعرض C القيم الأدنى مقارنةً بتلك الـ 26 لغة الأخرى التي تم النظر فيها فيما يتعلق بوقت التنفيذ (2019.26 مللي ثانية) واستهلاك الطاقة ( 57.86 ي) في تنفيذ الحلول المتعلقة بالمشاكل العشر المحتفظ بها في مبادرة CLBG. من ناحية أخرى ، باسكال يعرض أقل استهلاك للذاكرة (65.96 ميجا بايت).
نلاحظ أن C لا يزال في المركز الثالث من حيث استهلاك الذاكرة ، خلف Pascal و Go. في هذه المرحلة ، الفرق بين C و Pascal حوالي 11.21 ميجا بايت ، وهذا يعني أن الأول يستهلك ذاكرة أكبر بـ 1.17 مرة من الثانية.
وفي الوقت نفسه ، فإن تحديث 2020 (انظر الجدول التالي) ، يأخذ في الاعتبار عشر لغات وظيفية فقط ، بما في ذلك الوافد الجديد: Julia ، وهي لغة برمجة عالية المستوى تم إنشاؤها في عام 2009 ونشرت لعامة الناس في عام 2012. من الآن فصاعدًا ، كان لدى Julia اكتسبت بعض النجاح مع المجتمع العلمي في 2018 ، مبررة إدراجها في العينة المرجعية. في الواقع ، تأتي Julia لتقف خلف Rust مباشرة.
لا يزال يجب القول أن الترتيب الوارد في هذا الجدول لتحديث 2020 لم يتغير كثيرًا مقارنةً بترتيب دراسة عام 2017. وبالتالي ، فإن Rust دائمًا ما يحتل المرتبة الأولى في التصنيف في هذه الفئة من لغات (وظيفية). نلاحظ ببساطة ارتفاع Lisp من حيث أداء الطاقة وهبوط Haskell من حيث سرعة التنفيذ.
بالتأكيد ، في دراسة عام 2017 ، يتبع Rust لغة C بشكل وثيق مع اختلافات في الترتيب تبلغ 80.77 مللي ثانية في وقت التنفيذ و 1.74 جول في الطاقة المستهلكة (والتي يمكن اعتبارها منخفضة مقارنة بالقيم المرتبطة بها لغات البرمجة الأخرى في أسفل الترتيب). ثم نرى أن الإصدار الجديد من Rust يستهلك طاقة أقل ويعمل بشكل أسرع من النسخة التي تم أخذها في الاعتبار في دراسة 2017.
ومع ذلك ، فإن الاختلافات ليست كافية حتى الآن لتجاوز C في الترتيب ، حيث أن النسبة بين الطاقة المستهلكة ووقت التنفيذ ل Rust تبقى دون تغيير (0.039). بالإضافة إلى ذلك ، يصبح الأخير أكثر نهمًا في استهلاك الذاكرة. على أي حال ، فإن أداء الإصدار الجديد من Rust لا يتجاوز بعد أداء C في القيمة المطلقة (للمتغيرات الثلاثة التي تمت دراستها).
باختصار ، تظل لغة C لا تقبل المنافسة ، ويتساءل المرء حتى متى ستحافظ على هذا الموقف. ومع ذلك ، تجدر الإشارة إلى أن هذا لا يسمح لنا باستنتاج أن هناك علاقة وظيفية بين المتغيرات الثلاثة للدراسة (الطاقة المستهلكة ، وقت التنفيذ ، الذاكرة المستهلكة).
المصدر : GitHub