我有以下代码在win32中使用QueryPerformanceCounter()计算CPU周期
LARGE_INTEGER ltime; <br> UINT32 cycles; <br> QueryPerformanceCounter(<ime);<br> cycles = (UINT32) ((ltime.QuadPart >> 8) & 0xFFFFFFF);
如何在运行Ubuntu(OMAP4)的ARM cortex A9(pandas板)上实现相同的function?
你最好的选择可能是使用clock_gettime
CLOCK_PROCESS_CPUTIME_ID
或CLOCK_THREAD_CPUTIME_ID
。 (请参阅clock_gettime )
这将分别给你“CPU的高分辨率每进程定时器”和“线程特定的CPU时钟” 。
或者,我们可以总结出由times
返回的值,但是我想这样做会不太精确,因为它也取决于调度程序,而上面假设从CPU读取性能计数器(如果可能的话)。