KCachegrind - Profiling Visualization


Bugs & Wishes

Project Page

This is the homepage of the profiling tool Callgrind and the profile data visualization KCachegrind. Both are licensed under GPL V2.

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.

Current Releases

  • KCachegrind 0.4.6
  • Callgrind 0.9.12 (for Valgrind versions up to 2.4.1)


  • Callgrind: Valgrind (i.e. Linux on X86)
  • KCachegrind:
    • Libraries for KDE 3.[01234].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)

Latest News

Old News...

Author and Maintainer

Josef Weidendorfer, Josef.Weidendorfer@gmx.de


Last site update: 27.9.2005