[Amarok] 7bca886: debug: use elapsed timer

Rick W. Chen stuffcorpse at archlinux.us
Wed Nov 10 04:40:02 CET 2010


On 09 Nov 2010 14:32 +0100, Kevin Funk:
> Tuesday 09 November 2010, "Rick W. Chen" <stuffcorpse at archlinux.us>:
> > On 09 Nov 2010 11:47 +0100, Kevin Funk:
> > 
> > I noticed in Debug_p.h BlockPrivate was defined but not used, so I
> > thought it was intended to be used later. I've not noticed slower
> > startup times but yes not using the private ptr stuff could have an
> > improvement. This only matters if debug is turned on though.
> > 
> > What's a good way to benchmark this?
> 
> I'd say: Write a little test case which loops through some specific amount 
> (1000?) of debug() calls in nested functions with DEBUG_BLOCK defined.
> One time with pimpl idom being used, one time without.
> 
> You could also add this to Amarok's test suite.
> 
> Q_BENCHMARK could be useful in this case.

I wrote a simple benchmark [1]. On my machine at least there is
basically no difference either way. I suspect the string concatenations
make these trivial, or the benchmark is wrong. The results:

=== without pimpl ===
RESULT : TestDebug::benchDebugBlock():"debug with color":
     26.3 msecs per iteration (total: 263, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"debug nocolor":
     25.6 msecs per iteration (total: 257, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"nodebug with color":
     20.8 msecs per iteration (total: 208, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"nodebug nocolor":
     20.6 msecs per iteration (total: 206, iterations: 10)

=== with pimpl ===
RESULT : TestDebug::benchDebugBlock():"debug with color":
     26.6 msecs per iteration (total: 266, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"debug nocolor":
     25.8 msecs per iteration (total: 259, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"nodebug with color":
     20.3 msecs per iteration (total: 203, iterations: 10)
RESULT : TestDebug::benchDebugBlock():"nodebug nocolor":
     21.3 msecs per iteration (total: 214, iterations: 10)

  1. http://commits.kde.org/72721c7c/e3842875a4d19affab704dde05121fda2a478d3e

-- 
    Rick


More information about the Amarok-devel mailing list