लिनक्स प्लेटफॉर्म पर C++ प्रोग्राम को प्रोफाइल करने के लिए कई बेहतरीन प्रोफाइलिंग टूल हैं। Valgrind उनमें से एक है। यह व्यापक रूप से उपयोग किया जाता है। यह मेमोरी डीबगिंग, मेमोरी लीक डिटेक्शन और प्रोफाइलिंग के लिए एक प्रोग्रामिंग टूल है। हम बाइनरी को इसमें पास करके और टूल को कॉलग्राइंड पर सेट करके Valgrind का उपयोग कर सकते हैं। पहले प्रोग्राम को कंपाइल करके बाइनरी उत्पन्न करें
$ g++ -o abc.cpp abc
अब valgrind का उपयोग करके इसे प्रोफाइल करें
$ valgrind --tool=callgrind ./abc
यह callgrind.out.x नामक एक फाइल उत्पन्न करेगा। आप kcachegrind नामक टूल का उपयोग करके इस फाइल को पढ़ सकते हैं।
यदि आप gcc का उपयोग कर रहे हैं, तो आप अंतर्निहित प्रोफाइलिंग टूल, gprof का उपयोग कर सकते हैं। आप फाइल को कंपाइल करते समय इसका उपयोग कर सकते हैं
$ g++ -o abc abc.cpp -g -pg