2008-12-16 9 views
6

मैं perl -d:DProf के साथ एक पर्ल एप्लिकेशन प्रोफाइल कर रहा हूं। जब जिसके परिणामस्वरूप tmon.out फाइल पर dprofpp चल रहा है, मैं इस तरह की चेतावनी मिलती है:पर्ल के डेवेल :: डीपीआरओफ़ में "बाहरी में अवांछित कॉल" क्या हैं?

Compress::Zlib::__ANON__ has 5 unstacked calls in outer 
Compress::Zlib::AUTOLOAD has -5 unstacked calls in outer 
  • एक unstacked कॉल क्या है?
  • कौन या क्या "बाहरी" है?
  • संख्याओं का क्या अर्थ है? कॉल की ऋणात्मक संख्या कैसे हो सकती है?
  • मुझे चिंता करनी चाहिए?

उत्तर

9

मैं इस एक शॉट दे देंगे:

  • Unstacked कॉल संकेत मिलता है कि जब DProf प्रोफ़ाइल का विश्लेषण किया गया था, इसे और अधिक (या कम) का सामना करना पड़ा कॉल स्टैक पर (प्रोफ़ाइल में) की तुलना में यह उम्मीद इसका मतलब है कि प्रोफाइलिंग डेटा गलत है।
  • "बाहरी" डीपीआरओफ़ में आंतरिक चर %outer को संदर्भित करता है, जो (स्पष्ट रूप से) प्रोफ़ाइल का विश्लेषण करते समय स्टैक गणना ट्रैक करता है।
  • संख्याएं इंगित करती हैं कि डीपीआरओफ़ को कितने कॉल मिलते हैं, यह पता लगाने के लिए कि कितने पाए गए हैं। 5 का मतलब है कि इसकी अपेक्षा से अधिक कॉल हैं, -5 का मतलब है कि 5 कम हैं। दोबारा, ऐसा इसलिए है क्योंकि प्रोफाइल डेटा दूषित है।
  • मैं आपकी कोड अखंडता के बारे में चिंता नहीं करता, क्योंकि AFAIK यह डीपीआरओफ़ के कार्यान्वयन में बग के कारण है। ऐसा लगता है कि tmon.out फ़ाइल लिखते समय डीपीआरओफ़ उलझन में आया। हालांकि, इस गलतता के कारण dprofpp के शेष परिणाम अविश्वसनीय हो सकते हैं। इसलिए, आपको उन परिणामों की सटीकता के बारे में चिंता करना चाहिए (थोड़ा)।

आप Devel::NYTProf

+0

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

+0

मैंने चेतावनियों को दोबारा जांच लिया और अच्छी खबर यह है कि कॉल की संख्या 0 तक बढ़ जाती है। ऑटोोलॉड नकारात्मक संख्याओं में योगदान देता है, लेकिन सबसे बड़ा हिस्सा एक्सपोर्टर :: निर्यात से आता है। – innaM

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