الاختبار سيتم بحساب الزمن اللازم لحل معضلة رياضية بالارقام الصحيحة و تكرارها 1000000 مرة

حيث أن المعضلة الرياضية هي ايجاد حل مجموعة معادلتان

x + y = 14

x^2 + y^2 = 100

وبرنامجهما كالتالي

Python3:

x = 1
for i in range(1000000):
   while x <= 14:
      y = 14 – x
      if x**2 + y**2 == 100:
         break
      x = x + 1
print (str(x) + “|” + str(y))

c:

#include <stdio.h>

int main() {
   int x, y;
   for (int i=0; i<1000000;i++){
      for (x = 1; x <= 14; x++) {
         y = 14 – x;
         if ((x*x) + (y*y) == 100)
            break;
      }
   }
printf(“%d|%d\n”, x, y);
return 0;
}

و باستخدام نظام تشغيل لينوكس تم الاختبار باستخدام التعليمتان

time ./cspeed 

real 0m0.052s user 0m0.048s sys 0m0.000s

time python pspeed.py 

real 0m0.706s user 0m0.700s sys 0m0.004s

وكانت النتائج

أن البرنامج بلغة Python استغرق 13 ضعف زمن برنامج c لتنفيز نفس المهمة

بانتظار اقتراحاتكم لتطوير هذا الاختبار البسيط المصدر http://cocktail-it.com/c-vs-python-speed-test/

تعديل أول تم تصحيح موقع تعليمة x = 1

وبعد التصحيح اصبح الزمن time python pspeed.py

real 0m4.005s

user 0m3.989s

sys 0m0.004s

وأصبحت النتائج

أن البرنامج بلغة Python استغرق 77 ضعف زمن برنامج c لتنفيز نفس المهمة