Low-level Haskell profiling [Was: Re: [Haskell-cafe] Re: A
suggestion for the next high profile Haskell project]
Alexey Rodriguez Yakushev
mrchebas at gmail.com
Thu Dec 21 15:43:47 EST 2006
On Dec 20, 2006, at 9:15, Andy Georges wrote:
> Well, AFAIK, PAPI abstracts away the platform dependencies quite
> well, so I guess your code can be run straightforward on all IA-32
> platforms (depending on the events you wish to measure, which may
> or may not be present on all platforms). PowerPC, Itanium, Mips,
> Alpha should work as well, IIRC. If the GHC backend can generate
> code there, that is.
As the code stands now, data cache misses can be measured in a
platform independent way. For branch mispredictions, I am using
Opteron specific counters for reasons I no longer remember. Maybe I
couldn't find platform independent counters in PAPI for branch
> Have you published anything about that?
We are on the process of writing such a paper right now. My wish is
to have the related code submitted to the head as soon as
possible :). But at the moment we still have to tweak and clean up
our optimisations a bit more.
>> I should get around to start a wiki page about using PAPI these
>> days, but meanwhile feel free to contact me if you need further
>> information or help.
> I've been toying with this idea for a while , but never had the
> time to do something with it. If you have some cool stuff, let us
> know. I'm very interested.
The code in the head will allow you to get numbers for the Mutator
and the GC separately. Also, I have hacked nofib-analyse so you can
compare CPU statistics among different runs of the nofib suite. This
is not committed yet, I guess it will make its way to the PAPI wiki
page once it's up. I will let you know when I bring the page up.
More information about the Haskell-Cafe