Callgrind uses runtime instrumentation via the Valgrind framework for its cache simulation and call-graph generation. This way, even shared libraries and dynamically opened plugins can be profiled.
The data files generated by Callgrind can be loaded into KCachegrind for browsing the performance results. But there is also a command line tool in the package to get ASCII reports from data files without the need to use KCachegrind.
The format of Callgrind output is documented here. With conversion scripts, KCachegrind is able to visualize output of other profilers like OProfile, a system-wide profiler for Linux using statistical sampling with hardware performance counters. There also exist converters for profiling output of Python, PHP and PERL.
· Callgrind: Valgrind (i.e. Linux on X86)
· Libraries for KDE 3..x. Note that KDE is not bound to Linux, but runs on most Unixes, on Windows (KDE on CygWin), and even MacOS X (Fink project)
· Commands 'dot' (GraphViz) for call graph, and 'objdump' (BinUtils) for assembler view (these are runtime requirements, not needed for compilation)
What's New in This Release:
· This version was ported to Valgrind 3.0.x. This means support both for x86 and x86-64 applications.