有没有办法以毫秒分辨率测量多线程程序中两点之间的挂壁时间?我熟悉boost time_t,但它的分辨率是秒,而不是毫秒。欢迎来自MKL库的方法。
答案 0 :(得分:3)
在任何现代POSIX系统(如Linux)上,使用CLOCK_MONOTONIC
致电clock_gettime。
[更新]
通过“壁垒时间”,我假设你指的是两点之间实际经过的时间。如果您的意思是阅读实际的时间,请使用CLOCK_REALTIME
代替CLOCK_MONOTONIC
。 (不同之处在于,如果用户在测量过程中更改系统时钟,他们的行为方式。CLOCK_REALTIME
将反映出CLOCK_MONOTONIC
不会发生的变化。)
[更新2]
C ++ 11在std::chrono namespace中具有内置功能。因此,如果你有C ++ 11,那么这是最便携和面向未来的选择。