On sexta-feira, 10 de janeiro de 2014 12:04:23, Koehne Kai wrote:
> And here are the results:        
> 
> PASS   : CatLogBench::qWarningPrintf1()
> RESULT : CatLogBench::qWarningPrintf1():
>      0.0010 msecs per iteration (total: 67, iterations: 65536)
> PASS   : CatLogBench::qWarningPrintf2()
> RESULT : CatLogBench::qWarningPrintf2():
>      0.0013 msecs per iteration (total: 90, iterations: 65536)
> PASS   : CatLogBench::qWarningStream()
> RESULT : CatLogBench::qWarningStream():
>      0.0016 msecs per iteration (total: 54, iterations: 32768)
> PASS   : CatLogBench::qCWarningStream()
> RESULT : CatLogBench::qCWarningStream():
>      0.0018 msecs per iteration (total: 59, iterations: 32768)
> PASS   : CatLogBench::qCWarningPrintf()
> RESULT : CatLogBench::qCWarningPrintf():
>      0.0010 msecs per iteration (total: 69, iterations: 65536)
> PASS   : CatLogBench::cleanupTestCase()
> Totals: 7 passed, 0 failed, 0 skipped
> 
> So, there is of course some measurable overhead, but I wouldn't say it
> disqualifies the streaming variant per se

For more statistically-valid benchmark results:

1) make sure the total run time is at least half a second per test function 
(those ran for 50 ms)

2) make sure the CPU is locked to performance mode and Turbo is disabled:
 # tee <<<performance /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 # cut -f2 -d' ' 
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies | \
        tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
 (doesn't work on Linux 3.12 with the new intel_idle driver)

3) you may want to run with the perf counter on Linux to get actual CPU 
cycles. Pass -minimumtotal to a suitable value to get a runtime of half a 
second.

4) Run it 6 to 10 times and average out. Use the -csv logger mode so you can 
easily import into a spreadsheet. https://codereview.qt-project.org/74321

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to