Windows के लिए, मैंने AMD Codeanalyst, Intel VTune और Profiler को Visual Studio Team Edition में आज़माया है।
Codeanalyst छोटी गाड़ी है (अक्सर दुर्घटनाग्रस्त) और मेरे कोड पर, इसके परिणाम अक्सर गलत होते हैं। इसका यूआई अनजाना है। उदाहरण के लिए, प्रोफ़ाइल परिणामों में कॉल स्टैक डिस्प्ले तक पहुंचने के लिए, आपको "प्रक्रियाएं" टैब पर क्लिक करना होगा, फिर अपने प्रोग्राम के EXE फ़ाइल नाम पर क्लिक करें, फिर उस पर छोटे अक्षरों "CSS" के साथ एक टूलबार बटन पर क्लिक करें। लेकिन यह फ्रीवेयर है, इसलिए आप इसे आज़मा सकते हैं, और यह AMD प्रोसेसर के बिना (कम सुविधाओं के साथ) काम करता है।
VTune ($ 700) में एक भयानक उपयोगकर्ता इंटरफ़ेस है IMO है; एक बड़े कार्यक्रम में, आप जो विशेष कॉल ट्री ढूंढना मुश्किल है, और आप एक समय में एक कार्यक्रम में केवल एक "नोड" को देख सकते हैं (अपने तत्काल कॉलर्स और केली के साथ एक फ़ंक्शन) - आप एक पूर्ण नहीं देख सकते हैं पेड़ को बुलाओ। एक कॉल ग्राफ़ दृश्य है, लेकिन मुझे ग्राफ़ पर संबंधित निष्पादन समय प्रदर्शित करने का कोई तरीका नहीं मिला। दूसरे शब्दों में, ग्राफ़ में फ़ंक्शन समान दिखते हैं, भले ही उनमें कितना समय व्यतीत हो - यह ऐसा है जैसे वे प्रोफाइलिंग के बिंदु से पूरी तरह से चूक गए हों।
विजुअल स्टूडियो के प्रोफाइलर में तीनों का सबसे अच्छा जीयूआई है, लेकिन किसी कारण से यह मेरे कोड के बहुमत से नमूने एकत्र करने में असमर्थ है (मेरे पूरे C ++ प्रोग्राम में कुछ कार्यों के लिए ही नमूने एकत्र किए गए हैं)। इसके अलावा, मुझे सीधे इसे खरीदने का कोई मूल्य या तरीका नहीं मिला; लेकिन यह मेरी कंपनी के MSDN सदस्यता के साथ आता है। विजुअल स्टूडियो प्रबंधित, देशी और मिश्रित कोड का समर्थन करता है; मैं उस संबंध में अन्य दो प्रोफाइलरों के बारे में निश्चित नहीं हूं।
निष्कर्ष में, मुझे अभी तक एक अच्छे प्रोफाइलर का पता नहीं है! मैं यहाँ अन्य सुझावों की जाँच करना सुनिश्चित करूँगा।