measuring wall time in a multi-threaded environment
Is there a way to measure the wall time between two points in a multi-threaded program in milli-seconds resolution? I am familiar with boost time_t, but its reso开发者_开发问答lution is seconds, not milli-seconds. Methods from MKL library are welcome.
On any modern POSIX system (like Linux), call clock_gettime with CLOCK_MONOTONIC.
[update]
By "wall time", I assume you mean the time that actually elapses between two points. If you mean reading the actual time of day, use CLOCK_REALTIME instead of CLOCK_MONOTONIC. (The difference is how they behave if the user should change the system clock in the middle of your measurement. CLOCK_REALTIME will reflect that change while CLOCK_MONOTONIC will not.)
[update 2]
C++11 has built-in facilities for this in the std::chrono namespace. So if you have C++11, that is the most portable and future-proof option.
加载中,请稍侯......
精彩评论