2011-08-07 5 views
7

पर प्रोफाइलिंग मैं मैक (ओएस एक्स शेर/एक्सकोड 4.1) पर एसटीएल-केवल सी ++ एप्लीकेशन लिख रहा हूं। मुझे एक साधारण प्रश्न का उत्तर देने की आवश्यकता है: कोड के कौन से हिस्सों को अनुकूलित किया जाना चाहिए? Gprof खाली आउटपुट करता है, एक्सकोड के उपकरण मदद नहीं करता है। मुझे किस उपकरण का उपयोग करने की आवश्यकता है?सी ++ मैक

+0

"खाली आउटपुट" से आपका क्या मतलब है? मुझे लगता है कि शायद आपका प्रश्न होना चाहिए "मैं काम करने के लिए gprof कैसे प्राप्त करूं?" –

+0

ऐसा लगता है कि http://pastebin.com/EUhfSmLa – sashab

+1

उपकरण मेरे लिए बहुत अच्छा काम करता है। – LaC

उत्तर

4

शार्क का उपयोग करें। यह /Developer/Applications/Performance Tools

का उपयोग करना बहुत आसान है। यहां अधिक: http://developer.apple.com/tools/sharkoptimize.html

+1

दुर्भाग्यवश, यह समाधान अप्रचलित है। शार्क को इंस्ट्रूमेंट्स (http://stackoverflow.com/a/8349036/130427) के साथ बदल दिया गया है। उपकरण शार्क के तरीके से विशिष्ट फ़ंक्शन कॉल को संदर्भित करने में सक्षम नहीं दिखते हैं। –

0

भले ही gprof काम कर रहे थे, it would probably not be much help

किसी भी भाषा और ओएस के लिए जिस विधि पर मैं भरोसा करता हूं, random pausing है।

यहां बताया गया है कि यह कैसे काम करता है। यदि आप स्टैक के कई यादृच्छिक समय के नमूने लेते हैं, तो अपशिष्ट कार्य कॉल या I/O बर्बाद होने के अंश के अनुपात में दिखाई देते हैं। इसका लाभ यह है कि समस्याग्रस्त कथन चुपके से दिनचर्या के भीतर शिकार करने के विरोध में पिनपॉइंट हैं।