Subject: [boost] [chrono] now() performance on several clocks
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2011-10-03 11:07:37
Le 28/09/11 13:29, Vicente J. Botet Escriba a écrit :
> Le 28/09/11 13:12, Stewart, Robert a écrit :
>> Vicente J. Botet Escriba wrote:
>>> Le 27/09/11 17:42, Stewart, Robert a écrit :
>>>>> - There's no information on Boost.Timers overhead relative
>>>>> to timing the target code.
>>>> Are you asking for the overhead of the time computations or
>>>> the reporting?
>>> The former.
> I will add some performance tests in Boost.Chrono to measure the time
> spent by the now functions and the difference between two time_points
> for each one of the clocks, so we can be fixed.
I have measured the cost of calling Clock::now for some clocks and
platforms. All the test are run with variant=release.
The measured code stores on a vector the result of Clock::now() 10000000
for (int i=size-1; i>=0; --i)
On iMac 3.06 GHz Inter Core i3.
system_clock around 44 nanoseconds.
steady_clock/high_resolution_clock around 24 nanoseconds.
process_real_cpu_clock more than 600 nanoseconds.
process_user_cpu_clock more than 1000 nanoseconds.
Currently process_real_cpu_clock uses clock() and process_user_cpu_clock
On MinGw Windows
system_clock around 32 nanoseconds.
steady_clock/high_resolution_clock more that 2400 nanoseconds.
process_real_cpu_clock around 84 nanoseconds.
system_clock around 38 nanoseconds.
steady_clock/high_resolution_clock more that 2500 nanoseconds.
process_real_cpu_clock around 110 nanoseconds.
Clearly I need to make more measures for the Windows based steady_clock
The program is available on the trunk under the libs/chrono/perf directory.
Could someone run the program on a posix platform?
Please let me know if you think there is a better way to make these
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk