KCachegrind
===========

The most beautiful way to optimized your applications.


What is all this about ?
-------------------------

Profiling, i.e. determinating most time consuming execution parts,
is an important last step when developing applications.
KCachegrind visualizes traces, generated by profiling, in various ways;  
most notable is the TreeMap visualization of the calls happening
and a condensed version of it, the Coverage analysis.
KCachegrind is designed to allow fast browsing and to provide a quick
overview of very large programs, such as KDE applications (but not
limited to!). 
  
At the moment, it uses Cachegrind as profiling backend, which is using
the excellent CPU simulator in Valgrind. Thus, profiling does not 
need any preparation, can cope with shared libraries and plugin
architectures, and allows for profile runs to not influence the measuring
by the profile itself (all in contrast to e.g. GProf). Disadvantage is 
slower profile runs, unfortunately. 
 
For Cachegrind to provide call tree information, a patch is provided.  
This enables the most interesting visualization features of KCachegrind. 


Requirements
------------

A call-tree version of Cachegrind:
  - X86 Linux
  - Valgrind 1.0.x with call-tree patch from KCachegrind Website
  - Valgrind 2.0.x with call-tree skin installed

Cachegrind runs on x86 platforms, KCachegrind on all KDE enabled
platforms (KDE 3.0.x). 


Compilation and Installation
----------------------------

Simple do the command sequence

  ./configure --prefix=<KDE base directory>
  make
  make install



KCachegrind features
--------------------

Most important: TreeMap calltree visualisation.
For the rest, see the detailed "What's this?" help for
each part of KCachegrind and the quick starter on the
WWW page ( http://kcachegrind.sourceforge.net/cgi-bin/show.cgi )



Happy Profiling,
 Josef Weidendorfer
