The Cacheprof home page

http://www.cacheprof.org

What is cacheprof?

For many years now, CPUs have run far faster than their memory systems, and the gap is increasing.  Caches are the universal solution to this problem, but they are only a partial cure.  Programs which exploit the cache well run fast, but those which don't can have miserable performance.  Unfortunately, cache behaviour is not easily observed, so most programmers simply ignore the issue.

Cacheprof is a tool designed to help programmers quantify and understand the cache behaviour of programs and algorithms.  With this knowledge, you might be able to modify your code to be more cache-friendly and thereby faster.  Cacheprof will run your program, simulating a cache of your choice, and will annotate each line of source code with the number of memory references and the number of cache misses caused by that line.  It will also print summaries per-procedure, and for the program as a whole.  Finally, it will count the number of instructions executed, which can be very useful.

News (27 Sept 02): The functionality of cacheprof has been rolled into that of Valgrind, which is vastly superior in every way. Cacheprof is now redundant and is no longer supported or distributed. Valgrind's cache profiling facilities and ease of use are second to none; try it and see for yourself.

Thanks to Max Christian for hosting cacheprof.
A link to the bzip2 home page (also by me)

Julian Seward
Last modified Friday 27 September 2002
Cambridge, UK
jseward@acm.org