[Shotwell] shotwell with 100k pics: somewhere between quite fast and too slow

Adam Dingle adam at yorba.org
Mon Aug 15 06:41:26 UTC 2011


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



More information about the Shotwell-list mailing list