Hi,

What was the timer used previously for benchmarks ?

Your page focuses on accuracy while I think an important point is already the 
availability/functionality of clock_gettime(CLOCK_PROCESS/THREAD_CPUTIME_ID, 
...) on ARM, which measures process/thread execution time vs "wall time" for 
most other timer APIs. Good to know it looks accurate (and Internet seems to 
say that API is available on Android)

Generally your program is alone to be benchmarked so wall time converges to 
exec time but as you suggest, it would be more correct to use this clock.

On our side, team was using basic timer computing "wall time" + scheduler trace 
from perf or systemtap (to remove periods of non-execution in a pos-processing 
tool) in order for example to profile/debug a specific sequence in an 
application. We could get rid of post-processing tool now.


Regards
Fred

Frederic Turgis
OMAP Platform Business Unit - OMAP System Engineering - Platform Enablement



>
Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 
036 420 040 R.C.S Antibes. Capital de EUR 753.920

-----Original Message-----

> From: linaro-dev-boun...@lists.linaro.org
> [mailto:linaro-dev-boun...@lists.linaro.org] On Behalf Of Michael Hope
> Sent: Tuesday, August 30, 2011 3:47 AM
> To: Linaro Dev
> Subject: Choosing the timer to use in benchmarking
>
> Being able to accurately and consistently measure the elapsed
> CPU time is important for toolchain benchmarking. I ran a few
> experiments today and wrote up the results at:
>
> https://wiki.linaro.org/WorkingGroups/ToolChain/Benchmarks/Tim
> erAccuracy
>
> The original is available at:
>
> http://bazaar.launchpad.net/~michaelh1/linaro-toolchain-benchm
> arks/trunk/view/head:/reports/timer-accuracy.rst
>
> Short story:
>  * Use clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...)
>  * The mean is unaffected by CPU load
>  * I/O load has a significant effect
>  * Use nice -n -20 to reduce the variance
>
> For a CPU bound, non-VFP, L1 bound, 5 s long program:
>  * The variation coefficient is < 0.01 % so we can reliably measure
> 0.1 % changes
>  * The accuracy is around 50 us
>
> I've changed eembc-linaro and will change denbench-linaro
> next.  I recommend anyone else measuring time on core based
> benchmarks to do the same.
>
> -- Michael
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev
>

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to