Bulat Ziganshin wrote:
Hello Simon,

Monday, November 6, 2006, 1:54:44 PM, you wrote:


I find the instruction counts and memory read/write counts from cachegrind are
good things to compare, as a slightly more sensitive, but still deterministic,
alternative to allocations.  Caveats apply of course - these figures are not
always a good indicator for real world performance, but they are still a useful
tool if you bear this in mind.


if this tool can do CPU cache modelling while counting memory
accesses, it may become rather exact measure. it should just check
that memory access is to same memory row (16/32) bytes that is among,
say, last 256kb accessed

Unfortunately, cachegrind turns out not to be as useful as it sounds for cache simulation. The problem is that to do a good job of cache simulation you have to do a pretty sophisticated simulation of the CPU itself, knowing when the CPU will speculatively execute code, for example. I believe there are lots of interesting details in Nick Nethercote's thesis (he's the author of cachegrind and did some investigation of GHC's cache behaviour a while back).

Cheers,
        Simon
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to