2010-08-27 10 views
8

टाइपिंग संकेतक कंपाइलर को वैरिएबल के प्रकार को मानने में मदद करता है, लेकिन, क्योंकि PHP एक गतिशील स्क्रिप्टिंग भाषा का अर्थ है, तो सवाल यह है कि यह संभव है कि टाइपिंग संकेत भी रनटाइम को तेज बनाता है या नहीं?PHP स्क्रिप्ट के प्रदर्शन में मदद करने के लिए संकेत संकेत है?

उत्तर

17

PHP एक गतिशील भाषा है।
गतिशील भाषाएं केवल रनटाइम जांच का समर्थन करती हैं।
टाइपिंग संकेत रनटाइम प्रकार की जांच है।
रनटाइम प्रकार की जांच प्रदर्शन के लिए खराब है।
इसलिए, संकेत के लिए संकेत बुनाई खराब है।

+1

+1 - मुझे यह पसंद है, यह टाइप-हिंटिंग (या कुछ) के ज़ेन की तरह है :) – karim79

+0

ज़ेंड ऑप्टिमाइज़र या ओपोड कैश के समान कुछ चलाने के बारे में क्या? – MANCHUCK

+0

एफएफ 9 के प्रकार अनुमान क्या करता है, यह प्रदर्शन को बेहतर बनाने में कैसे मदद करता है? http://www.extremetech.com/computing/94532-firefox-9-javascript-performance-improved-by-20-30-with-type-inference – tom

2

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

भी when should I use type hinting in PHP?

+5

"इसके केवल वास्तविक उपयोग डीबगिंग के लिए है" को छोड़कर सटीक। टाइपिंग संकेत आपके कोड पर सुरक्षा का एक स्तर पेश करता है। –

+0

दूसरा लिंक मर चुका है – Gricey

4

प्रकार केवल इशारा प्रदर्शन में बाधा है क्योंकि यह (वस्तुओं के लिए) की आवश्यकता है वंशानुगत पदानुक्रम का परीक्षण करने के देखते हैं। चीजों को और खराब करने के लिए, इस तरह की जांच PHP में महंगा है क्योंकि यह पदानुक्रम की गहराई के समान आनुपातिक में किया जाता है।

टाइप के लिए एक परीक्षण, जैसे array संकेत के लिए किया गया एक बहुत छोटा ओवरहेड है, हालांकि।

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

हालांकि, यह एक उपयोगी रक्षात्मक प्रोग्रामिंग सुविधा है।

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