On 27.09.2010 21:44, Ramkumar Ramachandra wrote:
> Hi Stefan,
> Could you tell me which tools you use to profile the various
> applications in trunk? I'm looking to profile svnrdump to fix some
> perf issues, but OProfile doesn't seem to work for me.
> -- Ram
Under Linux, I'm using Valgrind / Callgrind and visualize in KCachegrind.
That gives me a good idea of what code gets executed too often, how
often a jump (loop or condition) has been taken etc. It will not show the
non-user and non-CPU runtime, e.g. wait for disk I/O. And it will slow the
execution be a factor of 100 (YMMV).
Under Windows, I'm using the VisualStudio sampling profiler. The
are pretty accurate and the overhead is low. It does not tell me, how often
a certain code path has been executed. Due to the low overhead, it is
well-suited for long running (>1 min) operations.
Also, I find a simple "time <command>" very useful to get a first impression
whether my code is bound by user-runtime, I/O wait or system runtime.
To collect data on I/O activity, compression rates and other not readily
available information, I use simple static counters and printf() their
at the end of each client call, for instance.
Hope that helps.
Received on 2010-09-27 22:30:36 CEST