के लिए खोज रहे हैं मैं सी ++ कोड के लिए कम प्रभाव, ओएस-स्वतंत्र प्रोफाइलर की तलाश में हूं।कम प्रभाव सी ++ प्रोफाइलर
जब मैं कम प्रभाव कहता हूं, तो मैं वाल्ग्रिंड से कम घुसपैठ करने का जिक्र कर रहा हूं। मैं इसे एक एमआईपीएस-आधारित एम्बेडेड पर्यावरण (इसलिए ओएस-फ्रीडमैन) में उपयोग करने की योजना बना रहा हूं और वाल्ग्रिंड के एक पोर्ट संस्करण का प्रयास किया है और यह प्रदर्शन विशेषताओं (काम पर बहुत ज्यादा हेइजेनबर्ग सिद्धांत) को पूरी तरह बदल देता है, इसलिए मैं उस मार्ग पर नहीं जा सकता। हम जानते हैं कि मेमोरी बस की गति एक बाधा है जो सबसे अधिक संभावना बताती है कि वाल्ग्रिंड इतना घुसपैठ क्यों था।
मैंने चेकपॉइंट्स के आधार पर एक घर का प्रकार का प्रोफाइलर बनाया है जो मुझे कोड के कुछ हिस्सों को मापने देता है। असल में मुझे कोड में रणनीतिक स्थानों में चेकपॉइंट सेट करने के लिए कोड (और पुन: संकलित) को संशोधित करना होगा। फिर, जब निष्पादित किया जाता है, तो यह प्रत्येक चेकपॉइंट पर कितनी बार हिट होता है और अंतिम चेकपॉइंट हिट होने के समय से स्टोर करता है। फिर, इसे चलाने के बाद, मैं चेकपॉइंट्स को डंप कर सकता हूं और प्रत्येक के लिए यह गणना करता है: num-hits, max-time, min-time, avg-time, आदि
यह प्रोफाइलर (मैंने इसे LowImpactProfiler कहा) ठीक काम करता है, लेकिन मुझे आश्चर्य है कि वहां कुछ बेहतर है या नहीं।
Ive ओप्रोफाइल माना जाता है, जो एक नमूना प्रोफाइलर है, लेकिन चूंकि मैं लिनक्स नहीं चला रहा हूं, मुझे लगता है कि यह लागू करने के लिए वास्तव में भिन्न होगा।
यदि लक्ष्य यह पता लगाना है कि कोड में क्या धीमा हो रहा है और बेहतर प्रदर्शन प्राप्त करने के लिए बेहतर किया जा सकता है * [आप इसे आज़मा सकते हैं] (http://stackoverflow.com/questions/375913/what-can -आई-यूज-टू-प्रोफाइल-सी-कोड-इन-लिनक्स/378024 # 378024)। * –
@ ब्रैडी: * हेइजेनबर्गर *? इस बारे में नहीं पता था! –
@Matthieu: इसके बारे में कभी नहीं सुना? यह एक क्वांटम हैमबर्गर है। –