On 09 Nov 2010 14:32 +0100, Kevin Funk: > Tuesday 09 November 2010, "Rick W. Chen" <stuffcor...@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 _______________________________________________ Amarok-devel mailing list Amarok-devel@kde.org https://mail.kde.org/mailman/listinfo/amarok-devel