在Windows上比clock()
函数有更好的函数或方法来测量时间吗?我有一个短暂的操作,当我尝试clock()
或gettickcount()
它说它花了0.0秒。我需要一种方法来测量它以毫秒或纳秒。使用C测量执行时间(在Windows上)
2
A
回答
7
您可以使用QueryPerformanceCounter
和QueryPerformanceFrequency
:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(void)
{
LARGE_INTEGER frequency;
LARGE_INTEGER start;
LARGE_INTEGER end;
double interval;
QueryPerformanceFrequency(&frequency);
QueryPerformanceCounter(&start);
// code to be measured
QueryPerformanceCounter(&end);
interval = (double) (end.QuadPart - start.QuadPart)/frequency.QuadPart;
printf("%f\n", interval);
return 0;
}
0
您可以使用QueryPerformanceCounter结合QueryPerformanceFrequency获得纳秒精度。
相关问题
- 1. 使用C#测量执行时间
- 2. C++测量执行时间
- 3. 用Windows在C中测量执行时间
- 4. 使用SPIM测量执行时间
- 5. 使用clock()来测量执行时间
- 6. 使用RDTSC指令在C中测量代码执行时间
- 7. C - 测量功能时间执行
- 8. 程序执行的C++测量时间
- 9. 测量时间执行
- 10. 测量执行时间
- 11. 测量Java执行时间
- 12. 测量执行时间短
- 13. 如何在Windows上测量CPU时间?
- 14. 用D语言测量执行时间
- 15. 在linux中测量执行时间
- 16. 如何测量每一行的执行时间在C#
- 17. 测量执行时间与时钟秒用C不工作
- 18. 测量CPU时间在Windows上使用GetProcessTimes
- 19. 在内核中使用rdtsc测量执行时间
- 20. 用C#测量线程的执行时间
- 21. 在C++中测量std :: system的实际执行时间
- 22. Windows Azure:如何测量代码的执行时间
- 23. 测量多线程的执行时间
- 24. CakePHP 2.1测量页面执行时间
- 25. 测量代码执行时间
- 26. 如何测量构建执行时间?
- 27. R中测量功能执行时间
- 28. 测量程序执行时间
- 29. 测量芹菜任务执行时间
- 30. 准确测量执行时间(秒)
感谢。你一直很大的帮助。 – Bar
这适用于顺序搜索代码。但是,当我使用“二进制搜索”代码时,它会使程序停止运行错误。可能是什么问题呢? – Bar
上面的代码已经过测试,如果您遇到问题,它就在其他地方。调试你的“二进制搜索”...或者,[问你的问题作为一个新的StackOverflow问题](http://stackoverflow.com/questions/ask)。 – deepmax