2008-09-16 17 views
33

क्या किसी को पता है कि कैसे पिलों की गति (या अन्य ढांचे में से कोई भी) php से बना एक समान वेबसाइट की तुलना करता है? मुझे पता है कि सीजीआई के माध्यम से एक पायथन बेस वेबपेज की सेवा करना हर समय इसकी लंबी शुरुआत के कारण php से धीमा है।जो तेज, पायथन वेबपृष्ठ या PHP वेबपृष्ठ है?

मुझे पिलों का उपयोग करने का आनंद मिलता है और यदि मैं php से धीमा था तो भी मैं इसका उपयोग करूँगा। लेकिन यदि phylons php से तेज़ था, तो शायद, मैं उम्मीद कर सकता हूं कि अंततः मेरे नियोक्ता को साइट को पिलोन में बदलने की अनुमति देने के लिए मनाया जाए।

उत्तर

85

ऐसा लगता है कि आप दो भाषाओं तुलना करने के लिए नहीं करना चाहते हैं, लेकिन है कि आप दो वेब सिस्टम तुलना करना चाहते हैं।

यह मुश्किल है, क्योंकि इसमें कई चर शामिल हैं।

उदाहरण के लिए, पाइथन वेब अनुप्रयोग वेब सर्वर से बात करने के लिए mod_wsgi का लाभ ले सकते हैं, जो किसी भी सामान्य तरीकों से तेज़ है जो PHP सर्वरों से वार्तालाप करता है (यदि आप अपाचे का उपयोग कर रहे हैं तो mod_php धीमा होने पर भी समाप्त होता है, क्योंकि अपाचे केवल वर्कर जैसे मल्टी-थ्रेडेड एमपीएम के बजाय prefork एमपीएम का उपयोग mod_php के साथ कर सकता है)।

कोड संकलन का मुद्दा भी है। जैसा कि आप जानते हैं, पाइथन को बाइट कोड (.pyc फ़ाइलों) में बस-बार संकलित किया जाता है जब फ़ाइल हर बार फ़ाइल बदलती है। इसलिए, पाइथन फ़ाइल के पहले भाग के बाद, संकलन चरण छोड़ दिया जाता है और पायथन दुभाषिया बस precompiled .pyc फ़ाइल लाता है। इस वजह से, कोई तर्क दे सकता है कि पाइथन का PHP पर मूल लाभ है। हालांकि, PHP वेबसाइटों के लिए ऑप्टिमाइज़र और कैशिंग सिस्टम स्थापित किए जा सकते हैं (मेरा पसंदीदा eAccelerator) बहुत अधिक प्रभाव के लिए है।

सामान्य रूप से, पर्याप्त उपकरण मौजूद हैं जैसे कि कोई भी अन्य कुछ कर सकता है जो अन्य कर सकता है। बेशक, जैसा कि अन्य लोगों ने उल्लेख किया है, व्यापारिक मामले में भाषा स्विच करने के लिए बस गति से अधिक है। हमारे पास मेरे वर्तमान नियोक्ता पर ओकैम में लिखा गया एक ऐप है, जो एक गलती साबित हुई क्योंकि मूल लेखक ने कंपनी छोड़ दी और कोई भी इसे छूना नहीं चाहता। इसी तरह, PHP-web समुदाय पायथन-वेब समुदाय से बहुत बड़ा है; वेबसाइट होस्टिंग सेवाएं पाइथन समर्थन की तुलना में PHP समर्थन प्रदान करने की अधिक संभावना है; आदि

लेकिन वापस गति के लिए। आपको यह समझना होगा कि यहां गति के प्रश्न में कई चलने वाले भाग शामिल हैं। सौभाग्य से, इन हिस्सों में से कई को स्वतंत्र रूप से अनुकूलित किया जा सकता है, जिससे आपको प्रदर्शन लाभ प्राप्त करने के लिए विभिन्न मार्ग मिलते हैं।

+15

अजगर में संकलित .pyc बाइट कोड फ़ाइलों के लाभ जब अपाचे/mod_wsgi की तरह कुछ का उपयोग कर अधिक दाम लगाया है। ऐसा इसलिए है क्योंकि वे समय मॉड्यूल पर केवल खेल में आते हैं। इसके बाद यह सभी अनुरोधों के बीच स्मृति में कैश किया गया है। बाइट कोड कैशिंग सिस्टम PHP के लिए एक बड़ा सौदा है क्योंकि एप्लिकेशन को प्रत्येक अनुरोध के बाद प्रभावी ढंग से फेंक दिया जाता है और इसलिए इसे प्रत्येक अनुरोध के लिए कोड पुनः लोड करना होगा। –

1

यदि यह तोड़ा नहीं गया है तो इसे ठीक न करें।

बस एक त्वरित परीक्षण लिखें, लेकिन ध्यान रखें कि प्रत्येक भाषा कुछ कार्यों के साथ तेज़ी से होगी।

0

एकमात्र सही उत्तर "यह निर्भर करता है"। ऐसे कई चर हैं जो प्रदर्शन को प्रभावित कर सकते हैं, और आप किसी भी स्थिति में कई चीजों को अनुकूलित कर सकते हैं। बाहर प्रोग्रामिंग भाषाओं

1

चेक गोलीबारी:

http://dada.perl.it/shootout/

+0

के बाद से यह केवल PHP 4 जो प्रदर्शन सहित अधिकांश मायनों में PHP 5 से काफी अलग है का उपयोग करता है बेंचमार्क एक छोटे से पुराना लगता है। – selfawaresoup

+0

डेबियन शूटआउट अधिक अप-टू-डेट, एक अलग मंच के लिए यद्यपि है। http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=php&lang2=python इससे पता चलता है उन्हें बहुत समान होने के लिए - एक भारी असमानता की गणना अनुकरणीय अंक के लिए जीएमपी का उपयोग कर अजगर से आता है। – Jimmy

1

आप स्विचिंग ही नहीं, कि "यह तेजी से है" के लिए एक व्यापार के मामले बनाने के लिए सक्षम होने की जरूरत है। यदि तकनीक बी पर बनाई गई साइट को निर्धारित अवधि (रखरखाव, 3 साल) पर रखरखाव के लिए डेवलपर समय में 20% अधिक खर्च होता है, तो यह प्रदर्शन अंतराल को पुल करने के लिए सिस्टम ए चल रहे सिस्टम ए में एक और वेबसर्वर जोड़ने के लिए सस्ता होगा।

बस कह रहा है "हमें प्रौद्योगिकी बी पर स्विच करना चाहिए क्योंकि प्रौद्योगिकी बी तेज है!" वास्तव में काम नहीं करता है।

चूंकि पाइथन PHP से बहुत कम सर्वव्यापी है, इसलिए मुझे आश्चर्य नहीं होगा अगर होस्टिंग, डेवलपर और इसके लिए अन्य रखरखाव लागत (दीर्घकालिक) इस परिदृश्य में फिट होगी।

2

यह वही है। एक या दूसरे को चुनने का कारण होने के लिए अंतर इतना बड़ा नहीं होना चाहिए। अपने स्वयं के छोटे बेंचमार्क ("hello world") लिखकर उनकी तुलना करने की कोशिश न करें क्योंकि आपके पास शायद ऐसे परिणाम नहीं होंगे जो एक वास्तविक वेबसाइट उत्पन्न करने वाले वास्तविक वेबसाइट के प्रतिनिधि हैं।

2

PHP और पायथन किसी भी तरह के स्विचिंग को वारंट करने के लिए पर्याप्त नहीं हैं।

किसी भी भाषा में दूसरे से स्विच करने से आपको जो भी प्रदर्शन सुधार मिल सकता है, वह कोड को परिवर्तित करने पर पैसे खर्च नहीं कर सकता है (आप मुफ्त में कोड नहीं हैं?) और बस अधिक हार्डवेयर खरीदें।

28

आपके नियोक्ता को PHP से पायथन तक बंदरगाह पर विश्वास करने का प्रयास करने में कोई बात नहीं है, खासकर मौजूदा सिस्टम के लिए नहीं, जो मुझे लगता है कि आपने अपने प्रश्न में निहित किया है।

इसका कारण यह है कि आपके पास समय और प्रयास (और अनुभव) के मौजूदा निवेश के साथ पहले से ही एक (संभवतः) कार्य प्रणाली है। इसे एक छोटे से प्रदर्शन लाभ के पक्ष में छोड़ने के लिए (यह नहीं कि मैं दावा कर रहा हूं कि एक होगा) मूर्ख होगा, और उसके नमक के किसी भी प्रबंधक को इसका समर्थन नहीं करना चाहिए।

यह रखरखाव के साथ भी समस्या पैदा कर सकता है, इस पर निर्भर करता है कि सिस्टम के साथ किसके साथ काम करना है, और पायथन के साथ उनका अनुभव।

+1

किसी भी मानक मैं भी देखा है अजगर खराब प्रदर्शन पीएचपी के नए संस्करण बनाम दिखा। हालांकि मुझे अभी तक किसी को पूर्ण एप्लिकेशन में प्रदर्शन की तुलना करने की आवश्यकता नहीं है। – mschuett

1

एक आईएस संगठन इस पर विचार नहीं करेगा जब तक उपलब्धता एक मुद्दा नहीं बन रहा था।

यदि ऐसा है, तो प्रतिकृति, लोड संतुलन और बहुत सारे राम में देखें।

0

मुझे अपने नए काम पर वेब विकास पर वापस आना पड़ा, और यदि पिलोन/पायथन नहीं, तो शायद मैं इसके बजाय जंगल में रहना चाहता था :) मेरी व्यक्तिगत राय में, PHP बाल विहार के लिए है, मैंने किया यूनी के अपने तीसरे वर्ष में, और मेरा मानना ​​है कि, कई आत्म-सम्मान (या अधिक अनुमानित) सॉफ्टवेयर इंजीनियर PHP कोड से परेशान नहीं होना चाहते हैं।

मेरे नियोक्ता क्यों सहमत हुए? हम (टीम) बस पाइथन पर स्विच कर चुके हैं, और उनके पास बहुत कुछ कहना नहीं था। वेबसाइट अभी भी PHP है और होगी, लेकिन हम पाइथन में वेब सहित अन्य एप्लिकेशन विकसित कर रहे हैं। पिलों के फायदे? आप अपने अजगर पुस्तकालयों को वेब ऐप में एकीकृत कर सकते हैं, और यही है, इमो, एक बड़ा फायदा।

प्रदर्शन के लिए, हमें अभी भी समस्याएं आ रही हैं।

+2

मुझे लगता है कि "किंडरगार्टन" जैसी पूरी भाषा को वर्गीकृत करना थोड़ा आसान है। विशेष रूप से, क्योंकि वहाँ वास्तव में एक अच्छा कई स्वाभिमानी सॉफ्टवेयर इंजीनियरों वर्तमान में PHP का उपयोग वेब applications.If आप मुझसे पूछते हैं, किसी भी स्वाभिमानी वेब डेवलपर तरीके के रूप में सी # पर ले जाना चाहिए यदि आप एक "अच्छा भाषा" चाहते हैं जाने के लिए विकसित करने के लिए कर रहे हैं, पीएचपी या पायथन के विपरीत, दोनों ओओपी आईएमओ में खराब हैं। पाइथन में इसके बैटरी-शामिल दर्शन शामिल हैं, लेकिन एएसपी.नेट के पास इसका बहुत ही सभ्य और सुसंगत रूपरेखा है। _ (संपादित करें:। मैं एक PHP वेब डेवलपर, अपने आप को, संदर्भ का एक सा जोड़ने के लिए कर रहा हूँ) _ – toon81

+3

@notageek "। आपके पास वेब एप्लिकेशन में अपने अजगर पुस्तकालयों एकीकृत कर सकते हैं, और कहा कि, एक बहुत बड़ा फायदा है imho," क्या आप मुझे एक उदाहरण दे सकते हैं जब कोई एक PHP ऐप में अपने पुस्तकालयों को एकीकृत नहीं कर सकता है? – user151851

+0

आप वास्तव में PHP के साथ हैम जा सकते हैं; मुझे लगता है कि आप इसे कम करके आंका रहे हैं। हालांकि, अजगर अच्छे और कई मायनों वास्तव में बहुत सरल है और कई कार्यों php से बहुत आसान के लिए लग रहा है। – JVE999

4

मुझे लगता है कि PHP (> 5.5) जटिल वेब अनुप्रयोगों के लिए तेज़ और अधिक विश्वसनीय है क्योंकि यह वेबसाइट स्क्रिप्टिंग के लिए अनुकूलित है।

नेट पर आपको मिले कई बेंचमार्क केवल यह साबित करने के लिए किए जाते हैं कि पसंदीदा भाषा बेहतर है। लेकिन आप एक्स-टाइम्स चलाने वाले गणितीय कार्य के साथ 2 भाषाओं की तुलना नहीं कर सकते हैं। एक वास्तविक बेंचमार्क के लिए आपको सैकड़ों कक्षाओं/फाइलों के साथ दो तुलनीय ढांचे की आवश्यकता होती है, एक वेब एप्लिकेशन एक बार में 100 क्लाइंट चला रहा है।

संबंधित मुद्दे