same answer as:
पुन: संपादित: आप उनसे पूछा गया कि अपने विकल्प थे। यदि आपका दिल प्रोफाइलिंग पर सेट है, तो एक प्रोफाइलर की तलाश करें।
दूसरी ओर, यदि आप वास्तव में एक प्रदर्शन समस्या है लगता है, सरल विधि के रूप में अच्छी तरह से या लगभग हर प्रोफाइलर की तुलना में बेहतर काम करता है। मैं लगभग हर कहता हूं, क्योंकि कुछ प्रोफाइलरों में आप वास्तव में जो चीज जानना चाहते हैं उसे छेड़छाड़ कर सकते हैं, जो समय-लागत व्यक्तिगत निर्देशों के लिए जिम्मेदार है, विशेष रूप से कॉल निर्देश।
एक निर्देश के समय लागत समय है कि अगर शिक्षा हटाया जा सकता बचाया जाएगा की राशि है, और यह का एक अच्छा अनुमान कॉल स्टैक यह युक्त नमूनों की अंश है। आपको उच्च परिशुद्धता वाले उस अंश का आकलन करने की आवश्यकता नहीं है।अगर निर्देश 10 नमूनों में से 5 पर है, तो यह लागत शायद 45% से 55% की सीमा में कहीं है। कोई फर्क नहीं पड़ता - अगर आप इससे छुटकारा पा सकते हैं, तो आप इसकी लागत बचाएंगे।
तो प्रदर्शन समस्याओं को ढूंढना मुश्किल नहीं है। बस कई कॉल स्टैक नमूने लें, उन नमूनों पर निर्देशों का सेट एकत्र करें, और उनमें से नमूने के अंश द्वारा निर्देशों को रैंक करें। उच्च-अंश निर्देशों में से कुछ ऐसे हैं जिन्हें आप दूर कर सकते हैं, और आपको यह अनुमान लगाने की आवश्यकता नहीं है कि वे कहां हैं।
मैं कुछ हद तक सरलीकृत कर रहा हूं, क्योंकि अक्सर कॉल स्टैक की तुलना में अधिक राज्य जानकारी की जांच करना उपयोगी होता है, यह देखने के लिए कि कुछ काम किया जा रहा है, वास्तव में आवश्यक है। लेकिन मुझे उम्मीद है कि बिंदु बनाया गया है।
लोग संदेह व्यक्त करते हैं कि यह रिकर्सन की उपस्थिति में काम कर सकता है, या बड़े कार्यक्रमों पर काम कर सकता है। थोड़ा विचार (और प्रयोग) दिखाता है कि उन आपत्तियों में पानी नहीं है।
स्रोत
2009-02-22 22:08:22
ध्यान दें कि मुक्त एक वास्तव में के लिए * स्मृति * आवंटन ट्रेसिंग लेकिन सीधे पर्फ़ विश्लेषण यह अन्य प्रणालियों ट्रेल्स बहुत अच्छा है डाउनलोड करें। कोई भी मुक्त मैं उपकरण के बजाय मिश्रित मोड प्रोफाइलिंग या नमूना समर्थन के बारे में जानता हूं। एकटाइम और टीम सिस्टम एक यह दोनों – ShuggyCoUk
करता है मैंने अभी डॉटट्रेस डेमो की कोशिश की है। मैं उम्मीद कर रहा था कि यह मेरी अपेक्षा नहीं होगी, लेकिन यह था। यह आपको खूबसूरती से प्रस्तुत सामग्री के साथ बाढ़ देता है इससे कोई फर्क नहीं पड़ता। इससे कोई फर्क नहीं पड़ता कि यह 'myBitmap.SetPixel'' पर कॉल में 90% से अधिक समय तक खर्च करता है, और विभिन्न स्थानों में छोटे शेष को एक क्षेत्र के साथ किरण को छेड़छाड़ की तरह, आसानी से कई विरामों के साथ दिखाया जाता है। मैंने डीटी में चारों ओर घूमते हुए, लेकिन वहां कुछ भी नहीं बताया कि विराम ने मुझे क्या बताया। –
@ माइकडुनलेवी: मेरे पास वास्तव में उस टिप्पणी को समझने के लिए पर्याप्त संदर्भ नहीं है, लेकिन डॉटट्रेस ने मुझे निश्चित रूप से नोडा समय में बाधाओं को खोजने में मदद की है ... –