performance - एकमुश्त क्या करता है?




profiler profiling (3)

मैं प्रदर्शन और मेमोरी प्रोफाइलर AQTime का परीक्षण कर रहा हूं यह देखने के लिए कि क्या मेरे डेल्फी आवेदन के लिए यह बड़ा $ $ $ खर्च करना उचित है।

क्या मुझे आश्चर्य होता है कि यह आपको स्रोत लाइन स्तर प्रदर्शन ट्रेसिंग (जिसमें प्रत्येक पंक्ति निष्पादित की गई बार की संख्या और उस रेखा के समय की मात्रा भी शामिल है) को बिना स्रोत के कोड को संशोधित किए और बिना किसी अत्यधिक समय के बिना डिबग रन

जिस तरीके से वे यह इतनी कुशलता से करते हैं, मुझे लगता है कि यहां कुछ तकनीकों / तकनीकों का उपयोग किया जा सकता है जो मुझे पता नहीं है कि इसके बारे में जानना उपयोगी होगा।

क्या आप जानते हैं कि कोड परिवर्तन के बिना निष्पादन लाइन-बाय-लाइन को कैप्चर करने के लिए वे किस प्रकार के तरीकों का उपयोग करते हैं?

क्या अन्य प्रोफाइल उपकरण हैं जो गैर-इनवेसिव लाइन-बाय-लाइन जांच भी करते हैं और यदि ऐसा है, तो क्या वे एक ही तकनीक का उपयोग करते हैं?


मैं विशेष रूप से डेल्फी के बारे में नहीं जानता, लेकिन सी एप्लिकेशन डीबगर अपेक्षाकृत आसानी से लाइन-बाय-लाइन प्रोफाइलिंग कर सकता है - यह कोड लोड कर सकता है और कोड के ब्लॉक के साथ प्रत्येक कोड पथ को जोड़ सकता है। तो यह सभी कंडीशनल जंप निर्देशों पर तोड़ सकता है और बस देख और देखें कि कोड पथ किस प्रकार लिया जाता है। जीडीबी जैसे डिबगर्स अपेक्षाकृत कुशलता से काम कर सकते हैं क्योंकि वे कर्नेल के माध्यम से काम करते हैं और कोड को संशोधित नहीं करते हैं, केवल जब प्रत्येक पंक्ति निष्पादित होती है तो उन्हें सूचित किया जाता है। यदि किसी कारण से ब्लॉक को जल्दी (लाँगजम्प) से बाहर निकलने का कारण बनता है, तो डीबगर उस पर हुक कर सकते हैं और यह पता लगा सकते हैं कि जब यह हुआ और ब्लॉक केवल उन पंक्तियों में बढ़े तो

बेशक, यह अभी भी कोड के लिए कठिन होगा, लेकिन जब मैं आसानी से कहूँ तो मेरा मतलब है कि आप इसे काउंटर को अपडेट करने के लिए प्रत्येक निर्देश पर समय बर्बाद किए बिना कर सकते हैं।


लंबे समय से निष्क्रिय टर्बोपावर के पास डेल्फी के लिए एक महान प्रोफाइलिंग / विश्लेषण उपकरण था जो कि सलेथ क्यूए सूट कहलाता है। मुझे इसे एक्यूकम से ज्यादा आसान मिला, लेकिन सार्थक परिणाम प्राप्त करने में भी आसान हो गया नीचे ट्रैक करने की कोशिश करने योग्य हो सकता है - ईबे, हो सकता है?


मैंने डेल्फी के लिए एक ओपन सोर्स प्रोफाइलर बना दिया है जो ऐसा ही करता है: http://code.google.com/p/asmprofiler/

यह सही नहीं है, लेकिन यह मुफ़्त है :-) भी घूमने वाला तकनीक का उपयोग करता है यह प्रत्येक कॉल को संग्रहीत करता है (आपको मैन्युअल रूप से सेट करना होगा कि आप कौन सी फ़ंक्शंस प्रोफ़ाइल चाहते हैं), इसलिए यह समय चार्ट (!) सहित एक सटीक कॉल इतिहास का पेड़ बना सकता है





aqtime