أيهما أسرع صفحات الويب python أم صفحات الويب php؟[مغلق]

StackOverflow https://stackoverflow.com/questions/77086

سؤال

أيهما أسرع صفحات الويب python أم صفحات الويب php؟

هل يعرف أحد كيف يمكن مقارنة سرعة الأبراج (أو أي من الأطر الأخرى) بموقع ويب مماثل تم إنشاؤه باستخدام PHP؟

أعلم أن خدمة صفحة ويب قاعدة بايثون عبر CGI أبطأ من PHP بسبب بدء التشغيل الطويل في كل مرة.

أنا أستمتع باستخدام الأبراج وما زلت أستخدمها إذا كانت أبطأ من php.ولكن إذا كانت الأبراج أسرع من PHP، فربما أستطيع، كما آمل، أن أقنع صاحب العمل في النهاية بالسماح لي بتحويل الموقع إلى أبراج.

هل كانت مفيدة؟

المحلول

يبدو أنك لا تريد المقارنة بين الاثنين اللغات, ، ولكنك تريد المقارنة بين اثنين أنظمة الويب.

وهذا أمر صعب، لأن هناك العديد من المتغيرات المعنية.

على سبيل المثال، يمكن الاستفادة من تطبيقات الويب Python mod_wsgi للتحدث إلى خوادم الويب، وهو أسرع من أي من الطرق النموذجية التي تتحدث بها PHP مع خوادم الويب (حتى mod_php ينتهي به الأمر إلى أن يكون أبطأ إذا كنت تستخدم Apache، لأن Apache يمكنه فقط استخدام Prefork MPM مع mod_php بدلاً من multi-threaded MPM مثل العامل).

هناك أيضًا مشكلة تجميع التعليمات البرمجية.كما تعلم، يتم تجميع لغة Python في الوقت المناسب لرمز البايت (ملفات .pyc) عند تشغيل ملف في كل مرة يتغير فيها الملف.لذلك، بعد التشغيل الأول لملف Python، يتم تخطي خطوة الترجمة ويقوم مترجم Python ببساطة بإحضار ملف .pyc المترجم مسبقًا.ولهذا السبب، يمكن للمرء أن يجادل بأن بايثون لديها ميزة أصلية على PHP.ومع ذلك، يمكن تثبيت أدوات تحسين الأداء وأنظمة التخزين المؤقت لمواقع PHP (المفضل لدي هو eAccelerator) لنفس التأثير إلى حد كبير.

بشكل عام، توجد أدوات كافية بحيث يمكن للمرء أن يفعل كل ما يمكن للآخر أن يفعله.بالطبع، كما ذكر آخرون، هناك ما هو أكثر من مجرد السرعة في حالة العمل لتبديل اللغات.لدينا تطبيق مكتوب بلغة oCaml لدى صاحب العمل الحالي، والذي تبين أنه خطأ لأن المؤلف الأصلي ترك الشركة ولا يريد أي شخص آخر لمسه.وبالمثل، فإن مجتمع PHP-web أكبر بكثير من مجتمع Python-web؛من المرجح أن تقدم خدمات استضافة مواقع الويب دعم PHP أكثر من دعم Python؛إلخ.

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

نصائح أخرى

ليس هناك فائدة من محاولة إقناع صاحب العمل بالانتقال من PHP إلى Python، لا سيما بالنسبة لنظام موجود، وهو ما أعتقد أنك ضمنته في سؤالك.

والسبب في ذلك هو أن لديك بالفعل (من المفترض) نظام عمل، مع استثمار حالي للوقت والجهد (والخبرة).إن تجاهل هذا لصالح مكاسب تافهة في الأداء (لا أدعي أنه سيكون هناك مكاسب) سيكون أمرًا أحمق، ولا ينبغي لأي مدير يستحق ملوحته أن يؤيد ذلك.

وقد يخلق أيضًا مشكلة في قابلية الصيانة، اعتمادًا على الأشخاص الآخرين الذين يجب عليهم العمل مع النظام، وخبرتهم مع بايثون.

أفترض أن PHP (>5.5) أسرع وأكثر موثوقية لتطبيقات الويب المعقدة لأنه مُحسّن للبرمجة النصية لمواقع الويب.

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

PHP وPython متشابهان بما يكفي لعدم ضمان أي نوع من التبديل.

أي تحسين في الأداء قد تحصل عليه من التبديل من لغة إلى أخرى سيتم التغلب عليه إلى حد كبير ببساطة عن طريق عدم إنفاق الأموال على تحويل التعليمات البرمجية (أنت لا تقوم ببرمجة التعليمات البرمجية مجانًا، أليس كذلك؟) ومجرد شراء المزيد من الأجهزة.

إنه نفس الشيء تقريبًا.لا ينبغي أن يكون الفرق كبيرًا بما يكفي ليكون سببًا لاختيار أحدهما أو الآخر.لا تحاول مقارنتها عن طريق كتابة معاييرك الصغيرة ("hello world") لأنه من المحتمل ألا تحصل على نتائج تمثل موقع ويب حقيقيًا يُنشئ صفحة أكثر تعقيدًا.

إذا لم يكن مكسورًا فلا تصلحه.

ما عليك سوى كتابة اختبار سريع، ولكن ضع في اعتبارك أن كل لغة ستكون أسرع في وظائف معينة من الأخرى.

يجب أن تكون قادرًا على تقديم دراسة جدوى للتبديل، وليس مجرد القول "إنه أسرع".إذا كان الموقع المبني على التقنية "ب" يكلف 20% أكثر من وقت المطور للصيانة على مدى فترة محددة (على سبيل المثال، 3 سنوات)، فمن المحتمل أن يكون من الأرخص إضافة خادم ويب آخر إلى النظام الذي يقوم بتشغيل التقنية "أ" لسد فجوة الأداء.

أقول فقط "يجب علينا التحول إلى التكنولوجيا ب لأن التكنولوجيا ب هي كذلك أسرع!"لا يعمل حقا.

نظرًا لأن Python أقل انتشارًا بكثير من PHP، فلن أتفاجأ إذا كانت تكاليف الاستضافة والمطور وتكاليف الصيانة الأخرى (على المدى الطويل) تناسب هذا السيناريو.

لن تفكر منظمة IS في هذا الأمر إلا إذا أصبح التوفر مشكلة.

إذا كان الأمر كذلك، فانظر في النسخ المتماثل وموازنة التحميل والكثير من ذاكرة الوصول العشوائي.

الجواب الصحيح الوحيد هو "هذا يعتمد".هناك الكثير من المتغيرات التي يمكن أن تؤثر على الأداء، ويمكنك تحسين العديد من الأشياء في أي من الحالتين.

كان علي أن أعود إلى تطوير الويب في وظيفتي الجديدة، وإذا لم يكن Pylons/Python، فربما كنت سأختار العيش في الغابة بدلاً من ذلك :) في رأيي الشخصي، PHP مخصصة لرياض الأطفال، وقد فعلت ذلك في سنتي الثالثة أعتقد أن العديد من مهندسي البرمجيات الذين يحترمون أنفسهم (أو يبالغون في تقديرهم) لن يرغبوا في الانزعاج من كود PHP.

لماذا وافق أصحاب العمل؟لقد تحولنا (الفريق) للتو إلى لغة بايثون، ولم يكن لديهم الكثير ليقولوه.لا يزال موقع الويب PHP وسيظل كذلك، ولكننا نعمل على تطوير تطبيقات أخرى، بما في ذلك الويب، بلغة Python.مزايا الأبراج؟يمكنك دمج مكتبات بايثون الخاصة بك في تطبيق الويب، وهذه ميزة كبيرة.

أما بالنسبة للأداء فلا نزال نواجه مشاكل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top