codeanalyst back
(L) [2006/04/30] [fpsunflower] [codeanalyst] Wayback!amd's free vtune alternative
has anyone tried it ? (I'm downloading now)
[LINK http://developer.amd.com/cawin.aspx]
(L) [2006/05/01] [tbp] [codeanalyst] Wayback!Yes i've been trying it from time to time because vTune is next to useless when run on AMD chips - who could have thought? - and there's not that many "profilers" for win32 to begin with.
I haven't tried lately, but i never got results i was supposed to get out of the pipeline analysis but for trivial piece of code. In particular, SSE always seemed to confuse it.
Then i've hit some gotchas with event based profiling with various version/config, so i was mostly left with time based profiling which isn't that exciting.
Add on top of that that it only reads msvc debug info.
All in all, when i need proper tools i switch to linux (if that's an option).
(L) [2006/05/01] [Ho Ho] [codeanalyst] Wayback!Has anyone ever tried [LINK http://icl.cs.utk.edu/papi/ PAPI] aka "Performance Application Programming Interface".
Basically it is an API for the CPI performance monitoring counters.
I have used it a little and it seemed to work quite nicely. I got L1/2 misses, branch misprediction counts and bunch of other stats with it. Too bad that for a bit more serious testing you would need CPU specific event numbers and so far I haven't found a place that lists at least some of those.
The events that high-level API is capable of counting is listed here: [LINK http://icl.cs.utk.edu/projects/papi/presets.html]
_________________
In theory, there is no difference between theory and practice. But, in practice, there is.
Jan L.A. van de Snepscheut
(L) [2006/05/01] [tbp] [codeanalyst] Wayback!Nope i've never bothered because of this: [LINK http://valgrind.org/info/tools.html]
(L) [2006/05/01] [Ho Ho] [codeanalyst] Wayback!They are similar but one is a simulator and other works at almost native speed (~0.xx-2% speed hit) on the real HW. Also PAPI can give way more information than Cachegrind or other Valgrind tools together.
Only problem is that is a "bit" difficult to use and is not easily portable because it needs a specially patched kernel.
_________________
In theory, there is no difference between theory and practice. But, in practice, there is.
Jan L.A. van de Snepscheut
(L) [2006/05/02] [Lynx] [codeanalyst] Wayback!Hm so maybe my lack of programming skills wasn't the only reason why codeanalyst never produced usefull numbers for me...
Haven't really done any serious profiling ever, but i figured that with gprof was way easier to get a quick statistic on execution times, so yea, back to Linux that meant unless you get everything working with MinGW.
(L) [2006/05/02] [Ho Ho] [codeanalyst] Wayback!Here is a little output from my proof-of-concept program:
back