2008-09-08 18 views
55

हम JetBrains 'dotTrace का उपयोग कर रहे हैं। अन्य प्रोफाइलिंग टूल की सिफारिश की जा सकती है जो सी # Windows Forms अनुप्रयोगों के प्रोफाइलिंग के लिए बेहतर हैं?बेस्ट .NET मेमोरी और प्रदर्शन प्रोफाइलर?

+1

आप हमारे नए और पूरी तरह से मुक्त [एनप्रोफाइलर] (https://www.nprofiler.com/) समुदाय संस्करण को आजमा सकते हैं। – Tom

उत्तर

34

नहीं। मैंने बाजार पर हर .NET प्रोफाइलर (एएनटीएस, वीट्यून, ऑप्टिमाइज़ इट, देवपार्टनर, योरकिट) की काफी कोशिश की है, और मेरी राय में डॉटट्रेस बहुत अच्छा है। यह केवल दो प्रोफाइलरों में से एक है जिसका मैंने उपयोग किया है (दूसरा आपकाकिट है) जिसमें अत्यधिक CPU-गहन अनुप्रयोग को संभालने के लिए पर्याप्त ओवरहेड है।

यदि और यदि आपका आवेदन अपेक्षाकृत हल्का है, तो मैं ANTS Profiler की सिफारिश कर सकता हूं। इसके लाइन-दर-रेखा आंकड़े कभी-कभी काफी उपयोगी होते हैं, लेकिन वे दक्षता प्रोफाइलिंग में कीमत पर आते हैं।

+4

मैं एक ऑप्टिमाइज़र पर एएनटीएस का उपयोग कर रहा था जो प्रोसेसर का पूरी तरह से उपयोग करता है और यह ठीक काम करता प्रतीत होता है। –

+0

मुझे वास्तव में डॉटट्रेस श्रृंखला भी पसंद है। हालांकि, ध्यान देने योग्य एक बात यह है कि यह ट्रेसिंग मोड (संकलित और सामान्य प्रश्नों के लिए) से संबंधित लिंक-टू-एसक्यूएल (एल 2 एस) के लिए बहुत ही गलत समय पैदा करती है। नमूना मोड में उस समस्या नहीं हो सकती है, लेकिन बहुत कम उपयोगी है। डॉटट्रेस 4 श्रृंखला के उत्तरार्ध में बीटास में एक ही समस्या थी। पता नहीं है कि क्या उन्होंने वास्तव में इसे ठीक किया है। मुझे लगता है कि यह कोड के साथ एक सामान्य समस्या है जो अभिव्यक्ति पेड़ों पर भारी निर्भर करती है। – skarmats

+0

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

3

हम आपके जैसे डॉटट्रेस का उपयोग करते हैं, लेकिन अतीत में हमने Ants Profiler रेडगेट द्वारा उपयोग किया था। यह भी एक अच्छा उपकरण है।

4

चींट्स प्रोफाइलर ने अभी संस्करण 4 जारी किया है।
हम इसका उपयोग करते हैं, और इसके साथ काफी खुश हैं। मूल्यांकन के लिए 14 दिन का परीक्षण है (जैसा कि अधिकांश प्रसाद के लिए सच है)।

11

स्मृति प्रोफाइलिंग के लिए आपके पास मुफ्त सीएलआर प्रोफाइलर और वाणिज्यिक .NET memory profiler दोनों हैं। दोनों उत्कृष्ट हैं लेकिन बाद वाला थोड़ा और पॉलिश है।

3

मैं रेडगेट एंट्स से बहुत खुश हूं। मैंने कोशिश की एकमात्र अन्य वह थी जो विजुअल स्टूडियो टीम के साथ आता है, और यह बेकार है।

+1

मैं वास्तव में वीएस एक पसंद करता हूं, यह मुझे एएनटीएस की तुलना में अधिक जानकारी देता है। आप एएनटीएस प्रोफाइलर को पसंद कर सकते हैं लेकिन मैं इस बात से सहमत नहीं हूं कि वीएस एक बेकार है। जब आप जानते हैं कि इसका उपयोग कैसे किया जाए तो यह अच्छी तरह से काम करता है। –

+0

रेड-गेट सबसे अच्छा –

+1

और नहीं है। स्मृति प्रोफाइलिंग के लिए अब मैं SciTech की अनुशंसा करता हूं। यह आपको भटक ​​प्रतिनिधियों/घटना हैंडलरों के कारण मेमोरी लीक का सारांश देता है और आपको स्पष्ट रूप से निपटाए जाने के बजाए वस्तुओं को अंतिम रूप देने के दौरान चेतावनी देता है। –

0

nProf यदि आप कुछ मुफ्त खोज रहे हैं तो एक अच्छा टूल है। यह बिंदुओं पर एक तरह का मामूली है, और थोड़ी छोटी गाड़ी है, लेकिन यदि आप एक कड़े बजट पर हैं, तो यह काम करेगा।

+0

आप इसका उपयोग कैसे करते हैं? मुझे कुछ दस्तावेज कहां मिल सकता है? – Germstorm

+0

ऐसा लगता है कि हाल ही में एनप्रोफ ने इसमें कुछ साँस ले ली है। यह पिछले कुछ सालों से काफी स्थिर रहा है। हालांकि अभी भी कोई दस्तावेज नहीं है। मुझे लगता है कि आपकी सबसे अच्छी शर्त सिर्फ कोशिश करनी है। यह बहुत सारे विकल्पों के बिना, एक सुंदर पतला कार्यक्रम है। असल में आप अपने प्रोग्राम को प्रोफाइलर से शुरू करते हैं, और यह रिकॉर्ड करता है कि प्रत्येक विधि कितनी देर तक चलती है। आपके कार्यक्रम को चलाने के दौरान कब किया जाता है, यह आपको प्रत्येक विधि में कितना समय व्यतीत करता है, इसका योग देता है। करने के लिए सबसे अच्छी बात यह है कि अपने आवेदन के धीमे हिस्सों को चलाने के लिए, एक समय में केवल एक ही क्रिया है, और देखें कि यह कहां धीमा है। – Kibbee

6

हम AQTime के साथ वास्तव में अच्छी तरह से मिल गया है। हमारे दृष्टिकोण से बड़ी बात यह है कि यह हमारे कोड के अप्रबंधित हिस्सों को भी करता है।

5

इसका अभी तक उल्लेख नहीं किया गया है, लेकिन स्मृति विश्लेषण के लिए विंडबग पूरी तरह से और कम-स्तर के बारे में है जैसा आप प्राप्त कर सकते हैं। Sos.dll के साथ संयोजन में इसका उपयोग अविश्वसनीय रूप से शक्तिशाली है, लेकिन एक काफी सीधी सीखने की वक्र है।

हालांकि यह एक नि: शुल्क टूल है, और टेस फेरांडेज़ ब्लॉग इसके साथ शुरू करने के लिए एक शानदार जगह है। एएनटीएस और अन्य प्रोफाइलर अधिक उपयोगकर्ता के अनुकूल हैं, लेकिन विंडबग प्रबंधित ढेर को टुकड़ा कर सकता है और मेरी राय में किसी और की तरह पासा नहीं कर सकता है।

18

मैंने EQATEC Profiler का उपयोग किया है। यह मुफ़्त है और एक कोड प्रोफाइलर है, स्मृति मेमोरी नहीं।

+4

यह बहुत बुनियादी है लेकिन यदि आप एक मुफ्त प्रोफाइलर चाहते हैं तो कुछ भी बेहतर नहीं है। –

+4

नए पाठकों के लिए; ईक्यूएटीसी प्रोफाइलर को दिसंबर 2013 तक चरणबद्ध किया जा रहा है और गैर मुक्त टेलीरिक जस्टट्रेस द्वारा प्रतिस्थापित किया गया है। – Polymorphix

+0

साइटफिनिटी ने मुझे टेलरिक पर कुछ भी डाला। – MrBoJangles

0

मैं हाल ही में रिलीज के बाद से मुक्त SlimTune का उपयोग कर रहा हूं। यद्यपि इसमें न्यूनतम इंटरफ़ेस है, लेकिन इसका उपयोग करना बहुत आसान है और अच्छे डायग्नोस्टिक्स प्रदान करता है जो पहले से ही मुझे बहुत मदद कर चुके हैं। यह वर्तमान में दो प्रकार के डिस्प्ले का समर्थन करता है, जिनमें से एक एनप्रोफ के समान है। यह स्लिम डीएक्स के समान डेवलपर से है, इसलिए मुझे उम्मीद है कि उपकरण अल्पावधि में भी बेहतर हो जाएगा।

संपादित करें: जहां तक ​​मुझे पता है, यह अभी तक स्मृति प्रोफाइलिंग का समर्थन नहीं करता है।

1

आपको SpeedTrace देखें। हम सॉफ़्टवेयर से प्रसन्न हैं, और यह मेरी समस्या के मूल कारणों को हल करने में बहुत मदद करता है।

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