जावास्क्रिप्ट निष्पादन को प्रोफाइल करने का सबसे अच्छा तरीका क्या है? [बन्द है]


94

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

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


यदि NODE_ENV=production node --prof app.jsऐसा नहीं होगा, तो विकल्पों के लिए stackify.com/node-js-profilers या softwarerecs.stackexchange.com देखें ।
सेस टिम्मरमैन

जवाबों:


63

Firebug

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

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

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

ब्लेकबेर्द

ब्लैकबर्ड ( आधिकारिक साइट ) में एक सरल प्रोफाइलर भी है ( यहां से डाउनलोड किया जा सकता है )


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

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

1
फायरबग आपको मिलने वाले सबसे अच्छे टूल के बारे में है।
साशा चोडगोव

1
सफारी वेब इंस्पेक्टर में एक ही बात काम करती है
olliej

9
फायरबग अच्छा है और सभी है, लेकिन मैं विश्वास नहीं कर सकता कि यहाँ बहुत सारे लोग "फायरबग, फायरबग" का जाप कर रहे हैं! ओपी द्वारा स्पष्ट रूप से यह कहने के बाद कि वह कई ब्राउज़रों से अपना कोड प्रोफाइल करना चाहता है।
JMTyler 20

20

क्रोम के डेवलपर टूल में एक अंतर्निहित प्रोफाइलर है।


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

12

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

जावास्क्रिप्ट फंक्शन कॉल प्रोफाइलिंग

उम्मीद है की वो मदद करदे।


यहाँ डाउनलोड लिंक लगता है - github.com/jeresig/fireunit/tree/master
T.Todua

4

फ़ायरबग + फ़ायरफ़ॉक्स एक होना चाहिए। और IE 8 के डेवलपर टूलबार में एक प्रोफाइलर भी बनाया गया है (डेवलपर टूलबार के साथ IE 8 जहाज)।


4

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


4

जावास्क्रिप्ट के लिए, XmlHttpRequest, DOM एक्सेस, रेंडरिंग टाइम्स और IE6, 7 और 8 के लिए नेटवर्क ट्रैफ़िक के लिए आप मुफ़्त डायनाट्रेस AJAX संस्करण का उपयोग कर सकते हैं


कृपया, निर्देश दें कि ब्राउज़र में एडऑन / एक्सटेंशन के रूप में कैसे स्थापित करें।
टी। कठुआ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.