اولا وقبل ان يأتي احد ليجدلني يجب ان اقر:
* لغات الscripting لا تهم ان تكون سريعة جدا فالهدف منها السهولة وليس السرعة
* اذا اردنا سرعة خارقة ممكن نرجع للغات اخرى مثل C وassembly
* طريقة قياس الزمن ب time(1) غير دقيقة
* ربما تكون لغة اسرع من اخرى في هذا الاختبار، لكن هذا ليس دليلا انها ستكون اسرع في جميع الاختبارات
* لذا هذه المقارنة ناقصة جدا
الاكواد لتجربة loop مع عمليات رياضية بسيطة:
النتيجة (الاقل الافضل)
php: real 0m12.609s
perl: real 0m24.165s
python: real 0m34.155s
الاكواد لتجربة loop مع عمليات طباعة على stdout:
النتيجة (الاقل الافضل)
perl: real 0m12.625s
php: real 0m14.349s
python: real 0m33.270s
الخلاصة:
هذا لا يعني شيئا لان اللغات هذه لديها استخدامات اخرى مختلفة جدا عن الاكواد المستخدمة في الاختبار
لكنها ربما تكون لفتة الى مقارنة اكثر دقة.. فعندما يكون لديك تطبيقين وانت محتار اي لغة تستقر عليها
الافضل ان تقوم بمقارنة التطبيقين عمليا حسب احتياجاتك وثم تختار بناء على النتائج
مثلا في هذه الحالة (الغير واقعية اطلاقا) تبين ان php اسرعهم في اجراء عمليات حسابية بسيطة مكررة..
يبدو انها تنتج كود binary و optimized بطريقة افضل من غيرهم
بينما يبدو ان perl تنتج كود binary و optimized بطريقة افضل لطابعة ذلك النص الصغير.
في التطبيقات العملية القضية معقدة اكثر بكبثير من مجرد هذا لاستخدام العديد من المكتبات
وهذه المقارنة ليست دليلا على ان php و perl افضل من python
رأي password123 الشخصي بناء على حاسته السادسة:
الذي شعرت به انا شخصيا (والذي ليس بالضرورة هو شعورك انت) ان python تعاني من مشكلة الدلع الفائض
يعني كل شيء object ودلع واشياء جميلة... وفي النهاية ابطؤهم في التطبيق... هذا مخزي.. المبرمج لا يحتاج كل هذا الدلع.
كذلك شعرت ان php تحسنت كثيرا عن السنوات السابقة.. لانها كانت بطيءة بشكل خيالي. لنها الآن منافسة جيدة!
واما perl 5 يبدو انها مستقرة.. فهي كانت سريعة مثلما هي الآن قديما.. وهي مازالت منافسة قوية ولا تقوم باي شيء مخزي مثل باثون
الهاردوير:
لابتوب password123، ثلاثة غيغا رام Intel® Core2 Duo CPU P9400 @ 2.40GHz
السوفتوير:
Linux maxtor-laptop 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux
PHP 5.3.2-1ubuntu4.9 with Suhosin-Patch (cli) (built: May 3 2011 00:45:52)
perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
Python 2.6.5






