Chrome डीबगर के प्रोफाइलर में "(प्रोग्राम)" क्या है?


जवाबों:


95

(program)क्रोम ही है, अन्य सभी कोड को कॉल करने वाले पेड़ की जड़ ... यह वहां है क्योंकि देशी कोड से जावास्क्रिप्ट तक कूद, संसाधन लोडिंग, आदि को कहीं से शुरू करना है :)

आप Chrome डेवलपर टूल डॉक्स में ट्रीव्यू के उदाहरण देख सकते हैं ।


43
आह - तो अगर यह एक उच्च प्रतिशत है, वहाँ कुछ भी मैं इसके बारे में क्या कर सकता है?
hvgotcodes

2
@hvgotcodes - यह ध्वनि नीचे के सभी भागों का प्रतिशत होगा। अब यदि आत्म प्रतिशत अधिक है, तो बहुत कुछ नहीं है जो आप कर सकते हैं .... जब तक कि सामान्य रूप से आपका मार्कअप बहुत भारी न हो।
निक Craver

1
क्या आप कृपया, जानते हैं कि "(प्रोग्राम)" सेक्शन में कोड कैसे एक्सेस करें? किसी भी तरह से जावास्क्रिप्ट के कुछ हिस्सों में मैं वर्तमान में काम कर रहा हूँ वहाँ अंत में, और एक ही रास्ता मैं डिबगर में प्राप्त कर सकते हैं "डिबगर;" कोड में, जो काफी आरामदायक नहीं है।
जारोस्लाव ज़ारूबा

6
मुझे लगता है कि यह वास्तव में गलत है और @ user1009908 का उत्तर सही है। इसकी जड़ नहीं, इसका मूल कोड। इस तथ्य से समर्थित है कि ट्री व्यू उदाहरण इसे रूट के रूप में नहीं दिखाता है।
स्टूजेक

3
कार्यक्रम के उच्च% के बारे में (), कभी-कभी सीएसएस एनिमेशन एक उच्च सीपीयू उपयोग की ओर जाता है, जो कार्यक्रम () में परिलक्षित होगा। दुर्भाग्य से प्रोफाइलर स्रोत को इंगित करने में मदद नहीं कर सकता।
ılǝ

31

मेरा मानना ​​है कि (कार्यक्रम) मूल कोड है, न कि पेड़ की जड़।

देखें यह धागा:

https://bugs.webkit.org/show_bug.cgi?id=88446

इसलिए, सिस्टम कॉल को मुख्य () की तुलना में अधिक पसंद करता है।

जाहिर है इसमें निष्क्रिय समय भी शामिल है। साथ ही, क्रोम (// प्रोफाइलर) से कुछ (प्रोग्राम) प्रोफाइल उपलब्ध है।


7
सहमत - लेकिन सिर्फ एक अद्यतन: इसमें निष्क्रिय समय शामिल नहीं है। अब इसे अलग से (निष्क्रिय) बताया जा रहा है
Gio

15

जैसा कि @ निक कहते हैं, इसे कहीं से शुरू करना होगा।

ऐसा लगता है कि सीपीयू प्रोफाइलर का हिस्सा बहुत सारे अन्य प्रोफाइलरों की तरह है जो समान अवधारणाओं पर आधारित हैं जैसे कि ग्रेफाइट

उदाहरण के लिए, स्व लगभग एक बेकार संख्या है जब तक कि कुछ कोड में बड़ी संख्या में बबल-सॉर्ट जैसा कुछ नहीं होता है जिसे आप संपादित कर सकते हैं। लगभग नामुमकिन।

संपूर्ण में कैल्लेस शामिल होना चाहिए, इसलिए यह अधिक उपयोगी है। हालाँकि, जब तक नमूने अवरुद्ध समय के साथ-साथ चलने के समय के दौरान नहीं लिए जाते, तब तक पूरी तरह से सीपीयू-बाउंड प्रोग्रामों को छोड़कर यह अभी भी बहुत बेकार है।

यह आपको कोड की लाइन के बजाय फ़ंक्शन द्वारा ये आँकड़े देता है। इसका मतलब है (यदि आप कुल प्रतिशत पर भरोसा कर सकते हैं ) कि एक फ़ंक्शन की लागत इतनी है, इस अर्थ में कि यदि आप किसी तरह इसे शून्य समय ले सकते हैं, जैसे कि इसे ठोकर मारकर, तो यह प्रतिशत कितना समय बचा सकता है।

इसलिए यदि आप एक महंगे फ़ंक्शन पर ध्यान केंद्रित करना चाहते हैं, तो आपको इसके लिए शिकार करने की आवश्यकता है जिसे अनुकूलित किया जा सकता है। ऐसा करने के लिए, आपको यह जानना होगा कि फ़ंक्शन में कोड की पंक्तियों के बीच समय को कैसे विभाजित किया गया है। यदि आपके पास कोड के आधार पर लाइन की लागत थी, तो यह आपको सीधे उन लाइनों पर ले जाएगा।

मुझे नहीं पता कि आप एक बेहतर प्रोफाइलर प्राप्त कर पाएंगे, जैसे कि लाइन-स्तर पर दीवार-घड़ी स्टैक सैम्पलर रिपोर्टिंग, जैसे कि ज़ूम । यहाँ है कि मैं यह कैसे करते हैं


@hvgotcodes: निश्चित नहीं। मैं उनका उपयोग नहीं करता, क्योंकि मैं केवल डिबगर में स्टैकशॉट लेता हूं। लेकिन आप लिनक्स पर हैं, है ना? क्या आप ज़ूम की ट्रायल कॉपी प्राप्त कर सकते हैं? यह बहुत अच्छा है।
माइक डनलैवी

@hvgotcodes: तो ठीक है, मैं जो मदद कर सकता हूं वह वही तरीका है जिस पर मैं भरोसा करता हूं।
माइक डनलैवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.