2009-05-12 13 views
81

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

क्या मुझे कुछ चाहिए जो करीब है? या मैंने जो कुछ वर्णित किया है, उसे हासिल करने के लिए सबसे अच्छा टूल क्या होगा? क्या यह प्रोफाइल कार्यक्षमता द्वारा बढ़ाए गए एक स्वयं संकलित ब्राउज़र प्लस जावास्क्रिप्ट इंजन होगा?

उत्तर

60

Firebug

Firebug एक अत्यधिक विस्तृत रूपरेखा रिपोर्ट प्रदान करता है। यह आपको बताएगा कि प्रत्येक विधि आमंत्रण एक विशाल (विस्तृत) तालिका में कितना समय लगता है।

console.profile([title]) 
//also see 
console.trace() 

आपको अपने प्रोफ़ाइल ब्लॉक को समाप्त करने के लिए console.profileEnd() पर कॉल करने की आवश्यकता है। http://getfirebug.com/wiki/index.php/Console_API

ब्लैक

ब्लैकबर्ड (official site) भी एक सरल प्रोफाइलर (here से डाउनलोड किया जा सकता है)

+0

मैंने लिखा है कि मुझे फ़ायरफ़ॉक्स पता है। मैं ब्राउज़र से अधिक आंकड़े रखना चाहता हूं जो जावास्क्रिप्ट के निष्पादन को प्रभावित कर रहा है। –

+0

त्रुटि ... मेरा मतलब फ़ायरबग था;) –

+1

फायरबग पर डिट्टो, और यदि आप इसे कोड नहीं करना चाहते हैं तो आप सीधे कंसोल से प्रोफाइल कर सकते हैं। –

4

Firebug + फ़ायरफ़ॉक्स एक होना आवश्यक है: API कंसोल यहाँ देखें। और आईई 8 के डेवलपर टूलबार में एक प्रोफाइलर भी बनाया गया है (आईई 8 जहाजों को डेवलपर टूलबार के साथ)।

4

सफारी 4 के वेब इंस्पेक्टर में एक प्रोफाइलर भी शामिल है (हालांकि नाइटलीज़ में संस्करण में सुधार हुआ है। रिकर्सिव फ़ंक्शन कॉल)। वेब इंस्पेक्टर फायरबग के प्रोफाइलर एपीआई का भी समर्थन करता है।

12

हालांकि फायरबग का उल्लेख किया गया है, एक अतिरिक्त चीज जिसे आप फायरबग के साथ देखना चाहते हैं, FireUnit नामक फायरबग के लिए एक प्लगइन है; इस ब्लॉग पोस्ट में इस बारे में जॉन Resig वार्ता:

JavaScript Function Call Profiling

आशा है कि मदद करता है।

+0

यहां डाउनलोड लिंक होना प्रतीत होता है - https: // github।com/jeresig/fireunit/tree/master –

4

जावास्क्रिप्ट, XmlHttpRequest, डोम प्रवेश, प्रतिपादन टाइम्स और IE6 के लिए नेटवर्क यातायात के लिए, 7 & 8 आप मुफ्त dynaTrace AJAX Edition

+0

कृपया, निर्देश दें कि ब्राउज़र में एडन/एक्सटेंशन के रूप में इसे कैसे इंस्टॉल करें। –

17

Chrome की डेवलपर उपकरण का उपयोग कर सकते एक अंतर्निहित प्रोफाइलर है।

+2

+1, स्पीड ट्रैसर अच्छा है, और यह महत्वपूर्ण है (जैसा कि ओपी का उल्लेख है) अपने कोड को फ़ायरफ़ॉक्स से अधिक में प्रोफाइल करने के लिए यह देखने के लिए कि व्यक्तिगत ब्राउज़र इसे कैसे प्रभावित करता है। – JMTyler

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

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