在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