|
From: Nuno L. <nun...@sa...> - 2008-03-19 00:13:39
|
> On Tuesday 18 March 2008 21:03, Nuno Lopes wrote: >> > BTW, does valgrind has some way to dump the superblock contents (e.g. >> > the >> > asm/vex instructions and jumps)? >> >> OK, disregard the question. I already found the answer myself. >> e.g.: >> valgrind --tool=none -v --trace-flags=11111111 --trace-children=yes >> --trace-notbelow=1 ls > > Also --profile-flags= is quite fun. It has the advantage that it > shows you the "hot" blocks in an application. Without that kind of > profiling facility, it is difficult to distinguish between bad bits > of code generation that only happen rarely, from ones which happen > enough to be a performance problem. > > Also the --tool= is important, since the instrumentation code added > by tools is very varied. Try comparing the code generated by > none vs cachegrind (lots of calls) vs memcheck (what _is_ all that > stuff :-?) > > If you can get your hands on a powerpc machine, also try on that. > You'll see different effects again on that platform. > > For some simple benchmarks, try the programs in perf, with > --profile-flags. For example ffbench.c contains almost all the > action in the top 7 blocks or so, which means they are quite > interesting to study in detail. Great, thanks for the tips! Nuno |