我想计算执行一个函数需要的时间(以纳秒为单位)。 我知道这可能是一个重复的问题,但我找不到任何地方的解决scheme。 我已经有一个毫秒的工作计算(它来自MSDN):
QueryPerformanceFrequency(&freq); QueryPerformanceCounter(&begin); callfunction(); QueryPerformanceCounter(&end); elapsed.QuadPart = (end.QuadPart - begin.QuadPart); elapsed.QuadPart *= 1000000.0; elapsed.QuadPart /= freq.QuadPart;
我试图做一些相同的想法能够达到纳秒的结果,但无济于事。 我已经在linux中使用clock_gettime()函数实现了这个function。
而且代码是用C编写的,而不是用C ++编写的。
谢谢您的帮助。
中断和读硬件时钟不能很好地工作。
你可以剖析一个例程,它会有效地给你在每个函数中的时间比例。 如果你知道这个函数调用了多少次,代码运行了多长时间,你可以得到一个近似的想法。