On 08/14/2011 09:23 PM, oliver wrote:
nice tool,
but it only shows me percentage.

gprof shows me also number of calls.

Right. sysprof reports only time, not a call count, because it's a sampling profiler: it periodically stops the program and examines the stack trace to see where the program is. It doesn't instrument the code, so it has no idea how many times each function has been called. This is why programs run virtually at normal speed under sysprof.

Of course, in optimizing code our most fundamental concern is reducing execution time, and sysprof can reveal time bottlenecks even without call counts.


Or maybe sysprof also can be customized?

BTW: I run it as root and it also shows kernel stuff.

Yes: sysprof shows time used by all processes on the system. (This is sometimes very useful, by the way.) When you use sysprof to profile Shotwell, it's best to have no other CPU-intensive programs active at the same time. Then in the sysprof output, most time will be spent inside Shotwell; you can study that time and ignore the time spent in other programs.

Is it something like a dtrace-clone for Linux?

dtrace is more powerful in that it can insert probes (instrumentation points) into the code. sysprof is really just a simple system-wide sampling profiler. Fortunately we've found that for optimizing Shotwell it works well enough.

adam
_______________________________________________
Shotwell mailing list
[email protected]
http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell

Reply via email to