2009-07-11 6 views
5

क्या PHP के लिए मुफ्त और अच्छा लाइन-स्तर प्रोफाइलर है? मैं xdebug का उपयोग कर रहा हूं और यह अपेक्षाकृत अच्छा है लेकिन यह मुझे फ़ंक्शन स्तर आउटपुट देता है और कभी-कभी यह देखना मुश्किल होता है कि फ़ंक्शन में वास्तव में कितना समय बिताया जाता है।क्या PHP के लिए मुफ्त और अच्छा लाइन-स्तर प्रोफाइलर है?

उत्तर

1

मुक्त नहीं है, लेकिन SD PHP Profiler PHP कोड के प्रत्येक ब्लॉक के रिश्तेदार लागत ही नहीं, कार्यों के बारे में जानकारी प्रदान करता है:

+0

मैं एक और जटिल इंटरफ़ेस के बारे में नहीं सोच सकता :) – vava

+0

इस सुझाव का पालन करने का प्रयास किया। मूल्यांकन प्रति बेकार होने के लिए इतनी अपंग है - प्रत्येक 1000 से अधिक लाइनों की 3 कोड फाइलें ... प्रोग्राम पर्यावरण चर पर भरोसा करते हैं और इंस्टॉलर उन्हें सही तरीके से इंस्टॉल नहीं करता है - क्यों न केवल एक लिखें कॉन्फ़िगरेशन फ़ाइल ...? वास्तव में निराशाजनक है क्योंकि आउटपुट स्क्रीनशॉट में वास्तव में अच्छा दिखता है, यह सिर्फ एक बहुत मुश्किल यूआई के आसपास लपेटा गया है। कई भाषाओं का समर्थन किया गया, लेकिन जहां तक ​​यूआई जाता है तब तक केवल एक डेवलपर-परिप्रेक्ष्य प्रतिमान लिया जाता है। – gazarsgo

+0

@gazarsgo: पर्यावरण चर, जहां तक ​​हम जानते हैं, सही ढंग से स्थापित हैं। हम फीडबैक स्वीकार करने के लिए खुश होंगे (?) हमें बताएंगे कि आप किस ओएस संस्करण का इस्तेमाल करते हैं, और आपको लगता है कि पर्यावरण चर गलत क्यों हैं। विंडोज़ के हाल के संस्करणों में आपको लॉग इन करने और पर्यावरण परिवर्तनीय सेटिंग्स को प्रभावी होने के लिए लॉग इन करने की आवश्यकता है (इसके लिए धन्यवाद, माइक्रोसॉफ्ट)। क्या आपने उदाहरण चलाने की कोशिश की? –

0

मुझे नहीं पता कि ऐसा प्रोफाइलर है या नहीं।
यदि संभव हो, तो छोटे कार्यों को बाधाओं के रूप में पहचाने जाने वाले लंबे कार्यों को विभाजित करने के लिए एक कामकाज हो सकता है। न केवल यह अच्छा प्रोग्रामिंग अभ्यास है (हालांकि लागू करने में हमेशा आसान नहीं है, मुझे लगता है), लेकिन यह समस्या को और अधिक सटीक रूप से इंगित करने की अनुमति दे सकता है।

0

bytekit है, जो एक ऑपोड डिस्सेबलर है। यह आपको एक विस्तृत दृश्य देगा कि क्या हो रहा है। वैकल्पिक रूप से, आप सी-लेवल डीबगर का उपयोग कर सकते हैं जैसे कि gdb। यह आपको एक और नजदीक दिखता है, क्योंकि आप सी-स्तरीय कार्यों में डीबग कर सकते हैं।

0

मुझे अपेक्षा है कि मुझे Xdebug और KCacheGrind के साथ लाइन-स्तरीय आउटपुट मिला है। हो सकता है कि यह उन कार्यों के लिए रिपोर्ट किया गया हो, फ़ंक्शन कॉल के साथ उस समारोह के आधार पर, लेकिन किसी भी मामले में।

+0

नहीं, यह आपको स्रोत कोड और जानकारी दिखा सकता है कि इस लाइन से कितना समय कार्य किया जाता है। लेकिन यह उन लाइनों के साथ मदद नहीं करता है जहां केवल भाषा निर्माण का उपयोग किया जाता है। – vava

1

ज़ेंड प्लेटफ़ॉर्म आपको कुछ और सटीक प्रोफाइलिंग जानकारी देगा। यह आपके प्रदर्शन की जानकारी के लिए वेबग्रिंड और ज़ेंड स्टूडियो/ग्रहण प्रोफाइलर का उपयोग या उपयोग कर रहा है।

1

मैं एक microtime() का उपयोग कर रहा है और यह मुझे अच्छी तरह से सूट।

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