चूंकि PHP कोड ठीक से चलाएगा, भले ही यह अनिर्धारित इंडेक्स और स्थैतिक आदि के रूप में गैर-स्थैतिक विधियों के रूप में चेतावनी के साथ छेड़छाड़ की गई हो, सवाल यह है कि, यदि मैं अपने कोड से सभी नोटिस और चेतावनियों को हटाने के लिए समय बिताता हूं क्या यह को तेजी से चलाएगा?क्या php चेतावनी के बिना तेजी से चलाता है?
उत्तर
मैंने एक लेख बुक किया जिसमें लेखक ने इसके बारे में कुछ बेंचमार्क किए; दुर्भाग्य से, उस में फ्रेंच है ... लेकिन यहाँ यह है (हो सकता है आप इसे के कुछ हिस्सों समझ जाएंगे): Ne faites pas d'erreur
और यहाँ नंबर दिए गए हैं, जो लोग नहीं पढ़ते फ्रेंच मदद करने के लिए:
- 10k नोटिस,
error_reporting
औरdisplay_errors
के साथ सक्षम: 5,162.76 एमएस - एक ही है, लेकिन साथ
display_errors
विकलांग: 136.18 एमएस - एक ही है, लेकिन
error_reporting
साथ भी अक्षम: 117.79 एमएस - और, अंत में, कोड पैचिंग के बाद तो यह किसी भी सूचना के अब और उत्पादन नहीं करता: 19.51 एमएस
कि, हाँ, PHP कोड के बिना नोटिस/चेतावनी/त्रुटियों तेज़ चलता है, भले ही वे प्रदर्शित नहीं होते हैं जिसका मतलब है न ही रिपोर्ट की।
Derick Rethans का कहना है इस लेख में एक ही बात: Five reasons why the shut-op operator (@) should be avoided(के हवाले से):
कारण 3: यह धीमी है (भाग 2)
जब भी पीएचपी एक त्रुटि उत्पन्न करता है आंतरिक रूप से संदेश, यह संसाधित हो गया है और पूरी तरह से स्वरूपित संदेश तक स्वरूपित है जो आउटपुट स्ट्र ब्राउज़र के लिए आशंका।
error_reporting
सेटिंग प्रदर्शित होने से ठीक पहले ही जांच की गई है। हालांकि, यह @ -ऑपरेटर से विशेष रूप से संबंधित नहीं है।
त्रुटि संदेशerror_reporting
से पहले पूरी तरह से स्वरूपित किया गया है याdisplay_errors
उस मामले के लिए।
चेतावनियों की मात्रा पर निर्भर करता है, लेकिन त्रुटि संदेशों को छिपाने के दौरान PHP में त्रुटि प्रबंधन, अपेक्षाकृत महंगा है।
आप अनुमान लगाने के लिए प्रभाव सी स्तर पर रूपरेखा करना होगा क्या: valgrind स्थापित (यह मानते हुए आप लिनक्स पर कर रहे हैं) और फिर चलाने
callgrind /path/to/bin/php /path/to/script.php
यह एक फ़ाइल callgrind.12345
या तथाकथित उत्पन्न करता है, इस फ़ाइल को kcachegrind जैसे ऐप में लोड करें और php_error_docref0
या php_error_cb
देखें, यह देखने के लिए कि त्रुटि हैंडलर में कितना समय व्यतीत किया गया था।
कृपया ऐसा करने पर कैशग्रींड और वालग्रींड दस्तावेज़ों को ध्यान दें और ध्यान दें कि कई सिस्टम-निर्भर चर शामिल हैं।
संपादित करें: ओह एक और नोट: मुझे लगता है कि रास्ता डाटाबेस और इसी तरह के सिस्टम से बात करते समय अधिक समय बिताया जाता है। और फिर भी एक और अतिरिक्त नोट: फिक्सिंग नोटिस आमतौर पर कोड को भविष्य में बदलावों के लिए अधिक मजबूत बनाता है, इसलिए यह प्रदर्शन से स्वतंत्र एक अच्छा विचार है।
संपादन के लिए +1 :-) – TheHippo
मैं इसे ज्यादातर मामलों के लिए "महत्वपूर्ण" सुधार नहीं कहूंगा, लेकिन किसी भी प्रकार की त्रुटियों को उत्पन्न करने वाला कोड चलाना कोड स्वाभाविक रूप से उस कोड से तेज़ी से चलता है जिसे हर दूसरे लाइन में एक स्टैक ट्रेस उत्पन्न करना होता है।
चेक आउट: http://www.noamdesign.com/Web-Design-Blog/15-tips-to-optimizing-your-php-code/ मामूली अनुकूलन के बारे में अधिक जानकारी के लिए आप अपने कोड में कर सकते हैं।
अपने अनुभव में, मुझे पता चला है कि 9 5% कोड अनुकूलन आमतौर पर आपके डेटाबेस का उपयोग करने के तरीके से संबंधित है।
- 1. क्या सख्त मानकों के साथ PHP निष्पादन तेजी से है?
- 2. एसटीएल तेजी से क्या बनाता है?
- 3. तेजी से क्या है: जेडीबीसी या जेएनडीआई?
- 4. तेजी से या OR क्या है?
- 5. मोंगो संकेत एक क्वेरी को 10 गुना तेजी से क्यों चलाता है?
- 6. PHP एक स्क्रिप्ट चलाता है जब एक सत्र
- 7. क्या तेजी से 'बिना/बिना' विधियों के साथ सी # के लिए एक ओपन सोर्स अपरिवर्तनीय शब्दकोश है?
- 8. चेतावनी: -Wuninitialized बिना -O
- 9. PHP: चेतावनी: Windows
- 10. तेजी से पता लगाने के साथ SURF विवरण तेजी से?
- 11. PHP लॉग: चेतावनी प्रारूप
- 12. अनचेक चेतावनी के बिना जावा में ऑब्जेक्ट से कास्टिंग
- 13. PHP चेतावनी JSON प्रतिक्रिया
- 14. क्या BeginInvoke() एक अलग थ्रेड चलाता है?
- 15. क्या उपयोगकर्ता गिट हुक चलाता है?
- 16. एंड्रॉयड चलाता है क्या जावा SDK संस्करण
- 17. ब्राउज़र बंद होने पर PHP पृष्ठभूमि में चलाता है?
- 18. चेतावनी: require_once(): PHP
- 19. सबसे तेजी से रास्ता पीएचपी
- 20. बिल्ड बिना किसी त्रुटि या चेतावनी के विफल रहता है
- 21. तेजी से Math.exp() जेएनआई के माध्यम से?
- 22. नोटिस और चेतावनी के बीच PHP अंतर
- 23. सबसे तेजी से रास्ता चाबियाँ
- 24. सबसे तेजी से रास्ता कोड अंदर खोला (PHP)
- 25. जीडब्ल्यूटी के होस्टेड मोड जेटी रन कहां से चलाता है?
- 26. PHP के बिना PHP को अनुकरण करें
- 27. मार्शल cPickle भार तेजी से तेजी से उदासीनता,
- 28. डेटा स्थानांतरण ऑब्जेक्ट के डिज़ाइन को क्या चलाता है?
- 29. MySQL में तेजी से क्वेरी करें लेकिन PHP
- 30. तेजी से स्थानीय डेटाबेस
हू, मुझे पोस्ट करने के बाद एहसास हुआ: यह अंतिम परीक्षण के लिए मेरा 1,000 वां उत्तर ^^ –
+1 है। नोटिस और चेतावनियां आपकी सबसे खराब त्रुटियां हैं क्योंकि वे आपको तुरंत समस्या को ठीक करने के लिए मजबूर नहीं करते हैं। गुम सरणी सूचकांक को ठीक करना इतना आसान है, लेकिन शायद ही कभी संबोधित किया जाता है। निजी तौर पर, मैं हर सूचना/चेतावनी का इलाज करता हूं जैसे कि यह E_FATAL है। – Dereleased
अब, एक सवाल यह है कि त्रुटि जांच से हैंडलर की तुलना में अधिक देरी नहीं होगी। मेरा मतलब है: अस्तित्व के लिए परीक्षण, आदि। मुझे गलत मत समझो: मुझे चेतावनियों और नोटिस से नफरत है। मुझे हाल ही में ऐसी परियोजना मिली है लेकिन उपर्युक्त परिणाम मुझे जोखिम का निवेश करने के लिए मना नहीं करते हैं। – Galvani