似乎Linux高分辨率计时器在每个线程的范围内开始计数 - 而不是在应用程序中全局计算。
我尝试使用CLOCK_PROCESS_CPUTIME_ID,但是它给了我线程行为?
CLOCK_PROCESS_CPUTIME_ID (since Linux 2.6.12) High-resolution per-process timer from the CPU. CLOCK_THREAD_CPUTIME_ID (since Linux 2.6.12) Thread-specific CPU-time clock.
寻找跨线程的高分辨率计时器 (全球定时器以毫秒为单位,而高分辨率以纳秒为单位。)
如何在多线程环境中获得高分辨率时间?
答案 0 :(得分:1)
请尝试使用getTimeofday
,microseconds
的决议应该给出时间(参考:Linux Man Page)
您可能还想参考这个问题:How to create a high resolution timer in Linux to measure program performance?