मैंने दो प्रोफाइलिंग टूल (सोलारिस पर विंडोज़ और डीबीएक्स (सनस्टूडियो के भीतर) पर वीट्यून का उपयोग किया है) जो उन्हें बिना पुनर्निर्माण के प्रोग्राम प्रोग्राम कर सकते हैं, और प्रोफाइलिंग के दौरान, कार्यक्रम सामान्य रूप से सामान्य गति के समान ही चलता है। इन दोनों सुविधाओं में से मुझे बहुत समय बचाया।पुनर्निर्माण के बिना लिनक्स मंच पर प्रोग्राम कैसे प्रोफाइल करें?
अब मैं जानना चाहता हूं कि लिनक्स प्लेटफ़ॉर्म पर कुछ निःशुल्क टूल उपलब्ध हैं या नहीं। मुझे लगता है कि नमूनाकरण के आधार पर मुझे प्रोफाइलिंग टूल की आवश्यकता है। VTune अच्छा लेकिन महंगा है ... मैंने gprof और valgrind के बारे में सुना है। लेकिन ऐसा लगता है कि जीप्रोफ को प्रोग्राम को प्रोग्राम की आवश्यकता है (इसलिए हमें प्रोग्राम को पुनर्निर्माण करना होगा) और वाल्ग्रिंड प्रोग्राम निष्पादन को बहुत धीमा कर देगा। (वालग्रिंड के परिचय से, कैशग्रींड सामान्य से 20--100x धीमी गति से प्रोग्राम चलाता है, और कॉलग्रिंड जिसे मुझे प्रोफाइलिंग की आवश्यकता है कैश्रिंड पर आधारित है)
प्रोफाइलिंग के लिए, मुझे केवल फ़ंक्शन कॉल के निष्पादन समय को समझने की आवश्यकता है, इसलिए मैं यह पता लगा सकता है कि प्रदर्शन में गिरावट कब होती है। असल में मुझे कई कम स्तर की प्रोफाइलिंग जानकारी की आवश्यकता नहीं है क्योंकि कैशग्रींड प्रदान किया गया है ...
हाँ ... ऐसा लगता है कि मुझे क्या चाहिए .. लेकिन मुझे लगता है कि इसे स्थापित करने के लिए रूट खाते की आवश्यकता है, है ना? – superb
हां, इसे स्थापित करने के लिए रूट की आवश्यकता है। या सूडो, इस पर निर्भर करता है कि आपकी सूडो फाइल कैसे स्थापित की जाती है। मैं एक आभासी मशीन का उपयोग करने का सुझाव दूंगा, लेकिन वीएम में प्रोफाइलिंग करना एक बुरा विचार जैसा लगता है - एक वीएम के तहत चलने पर बाधाएं एक भौतिक मशीन पर चलने जैसी नहीं हो सकती हैं। मुझे उम्मीद है कि आपके सिस्टम पर जड़ है। – George
समझ गया। Oprofiler के बारे में कुछ दस्तावेज़ पढ़ने के बाद मैं समझता हूं कि इसे कुछ हार्डवेयर काउंटर एकत्र करने के लिए कर्नेल की आवश्यकता है ताकि यह प्रोग्राम को तेजी से प्रोफाइल कर सके, इस प्रकार कॉन्फ़िगर करने के लिए रूट विशेषाधिकार की आवश्यकता होती है। जब मैं सार्वजनिक मशीन का उपयोग कर रहा था और प्रोफाइलिंग उस मशीन के प्रदर्शन को प्रभावित करेगी तो रूट पहुंच प्राप्त करना आसान नहीं हो सकता है। तो मुझे लगता है कि Valgrind शायद सबसे अच्छा विकल्प ... – superb