स्पीड तुलना - व्याख्या की भाषाओं में प्रक्रियात्मक बनाम OO

वोट
17

इस तरह के PHP और जावास्क्रिप्ट के रूप में व्याख्या प्रोग्रामिंग भाषाओं, में, एक प्रक्रियात्मक दृष्टिकोण पर एक ऑब्जेक्ट ओरिएंटेड दृष्टिकोण के साथ जा रहा के नतीजों क्या हैं?

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

निष्कर्ष: किसी भी कितना बड़ा (यदि हो तो) प्रदर्शन वास्तव में मारा जाता है, जब OO बनाम एक व्याख्या की भाषा में प्रक्रियात्मक साथ जा रहे हैं?

06/08/2008 को 04:34
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


7 जवाब

वोट
17

हो सकता है कि मैं पागल हूँ लेकिन एक व्याख्यात्मक भाषा का प्रयोग इस तरह के मामलों में गति के बारे में चिंता यह पता लगाने की क्या रंग शेड पेंट करने के लिए कोशिश कर रहा है की तरह है। के भी विचार है कि अनुकूलन के इस प्रकार पूरी तरह से पूर्व परिपक्व है में नहीं हो।

आप सिर पर कील मारा जब आप ने कहा कि 'रख-रखाव'। मैं दृष्टिकोण है कि सबसे अधिक उत्पादक और सबसे पोषणीय है निर्णय लेना होगा। आप की जरूरत है बाद में तेजी लाने, यह एक व्याख्या की भाषा के अंदर उन्मुख कोडिंग मानदंड वस्तु बनाम प्रक्रियात्मक के बीच स्विच करने से आते हैं वाला है।

06/08/2008 को 04:36
का स्रोत उपयोगकर्ता

वोट
10

दुर्भाग्य से, मैं अपने परीक्षण भी किया है। मैं परीक्षण गति किया है, और यह एक ही के बारे में है, लेकिन जब स्मृति के उपयोग के लिए परीक्षण PHP में memory_get_usage () हो रही है, मैं OOP ओर एक घने बड़ी संख्या को देखा।

प्रक्रियात्मक के लिए 18,856 बाइट्स OOP के लिए 116,576 बाइट्स। मैं जानता हूँ कि "हार्डवेयर सस्ता है", लेकिन पर आ जाओ! उपयोग में 1000% वृद्धि? क्षमा करें, कि इष्टतम नहीं है। और इसलिए बहुत से उपयोगकर्ताओं को एक ही बार में अपनी वेबसाइट मार रही है, मुझे यकीन है कि अपने राम को जलाने सिर्फ होता है, या रन आउट कर रहा हूँ। क्या मै गलत हु?

22/07/2011 को 22:28
का स्रोत उपयोगकर्ता

वोट
5

निष्कर्ष: किसी भी नहीं, क्योंकि भाषांतरण के ऊपरी विधि भेजने की भूमि के ऊपर अभिभूत।

06/08/2008 को 04:35
का स्रोत उपयोगकर्ता

वोट
2

आप एक व्याख्या की भाषा का प्रयोग कर रहे हैं, तो अंतर अप्रासंगिक है। तुम एक व्याख्या की भाषा का प्रयोग नहीं किया जाना चाहिए अगर प्रदर्शन एक मुद्दा है। दोनों एक ही के बारे में प्रदर्शन करेंगे।

06/08/2008 को 04:49
का स्रोत उपयोगकर्ता

वोट
1

मेरे अनुभव में, भारी बोझ के नीचे एक साइट फंस और प्रक्रियात्मक से OOP कोड के साथ और अधिक आसानी से प्रतिसाद नहीं दे दिया जाएगा। कारण समझने में आसान है।

OOP प्रक्रियात्मक कोड से स्मृति में चलाने के लिए एक बहुत अधिक स्मृति आवंटन (malloc) और एक बहुत अधिक आपरेशन की आवश्यकता है। यह अपने कार्य करने के लिए एक बहुत अधिक CPU समय की आवश्यकता है। यह अनिवार्य रूप 'भूमि के ऊपर', प्रक्रियात्मक कोड के चारों ओर लिपटा, सीपीयू बोझ यह निष्पादित करने के लिए, खासकर जब डेटाबेस कार्यों प्रदर्शन को जोड़ने है।

OOP की सुविधा की तरह कई प्रोग्रामर, सरल इंटरफेस के पीछे छिपा हुआ छोटा ब्लैक बॉक्स का निर्माण। हालांकि, मैं अच्छी तरह से साइटों है कि हमेशा के ले रहे थे भारी उपयोगकर्ता भार लेकर उत्तर देने को पुनर्जीवित करने के लिए भुगतान किया गया है। OOP बाहर स्ट्रिपिंग और सरल प्रक्रिया संबंधी कार्यों के साथ यह जगह एक बहुत बड़ा अंतर बना दिया।

आप अपनी साइट हर तरह से, बहुत व्यस्त होने की उम्मीद नहीं है, तो OOP का उपयोग करें। यदि आप एक उच्च यातायात प्रणाली का निर्माण कर रहे हैं, तो आप उत्पादन है कि आप कर सकते हैं से प्रसंस्करण से हर सीपीयू चक्र और हर बाइट पट्टी करना चाहते हैं।

22/03/2015 को 19:31
का स्रोत उपयोगकर्ता

वोट
1

आपका प्रदर्शन कार्यान्वयन, नहीं भाषा की विशेषता हो जाएगा। आप धीमी भाषा इस्तेमाल कर सकते हैं और यह रूप में लंबे समय दुनिया में सबसे बड़ी साइट हो के रूप में आप यह डिजाइन पैमाने पर करने के लिए पैमाने सकता है।

बस optimiztion का पहला नियम याद है।

मत करो।

:)

22/09/2008 को 19:18
का स्रोत उपयोगकर्ता

वोट
0

मैं वास्तव में एक वेबसाइट मैं बनाए रखने पर अजगर में इस तरह एक छोटे से परीक्षण किया है और पाया है कि वे गति में लगभग बराबर हैं, प्रक्रियात्मक दृष्टिकोण एक दूसरे के दस हजारवें हिस्से की तरह कुछ से जीत के साथ किया है, लेकिन OO कोड काफी इसलिए था ताकि क्लीनर मैं व्यायाम किसी भी अब एक यात्रा से जारी नहीं किया।

तो सच में, यह (मेरे अनुभव में वैसे भी) कोई फर्क नहीं पड़ता।

26/08/2008 को 21:01
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more