回答
在標準C庫clock()
函數給出使用進程啓動後使用,這樣你就可以「之前」比較和值「後」來獲得時間的CPU時間量:
#include <time.h>
#include <stdio.h>
...
clock_t t0, t1;
t0 = clock();
// do computation
t1 = clock();
printf("Computation took %dms\n", (int)((t1-t0) * 1000/CLOCKS_PER_SEC));
其他語言將具有類似的功能以及用於更高級時序信息的分析器;發佈更多的細節,如果你有一個特定的目標。
當我在linux上開發軟件時,我使用Callgrind and KCachegrind來剖析我的代碼。它可以顯示單個方法花費多少時間完成程序的總執行時間等等。
另一種選擇是通過用gettimeofday()
等一些定時功能封裝相關代碼來自行檢查。
gettimeofday()給出了掛鐘時間,而我需要CPU時間。 我會嘗試你建議的剖析軟件 謝謝。 – 2009-11-21 18:39:16
是的,你說得對。正如我所說的,我在Linux上有點生疏:)我仍然建議使用Callgrind作爲開發過程的一部分。 – 2009-11-22 18:44:55
在C/C++:
http://www.gnu.org/s/libc/manual/html_node/CPU-Time.html
這樣在java
P.S:這兩個是谷歌的第一結果。另外,如果您有興趣測量CPU週期而不是CPU時間,則可以使用this。
我想我正在使用錯誤的搜索查詢。 謝謝反正 :) – 2009-11-21 18:35:10
在Haskell,你可以實現的getCPUtime
單子拿到代碼的main
部分功能之間的時間差。
- 1. 在JAVA中測量部分代碼的CPU使用時間
- 2. 部分代碼未運行
- 3. 運行時間 - 部分#2
- 4. 代碼運行時間
- 5. 運行代碼時的顯示時間
- 6. CPU在特定時間點執行的當前代碼行
- 7. 以root身份運行部分代碼
- 8. 如何運行這部分代碼?
- 9. 此僞代碼的運行時間
- 10. 確定僞代碼的運行時間
- 11. 運行時間的排序代碼
- 12. 塊代碼的運行時間
- 13. 減少代碼的運行時間
- 14. 如何在代碼部分運行標記部分的功能?
- 15. 代碼在運行時作爲程序的一部分編譯
- 16. 顯示部分視圖時的運行代碼
- 17. elseif塊中的代碼部分運行時,它不應該
- 18. 如何在運行時將代碼寫入工作表的代碼部分
- 19. Windows Phone PeriodicTask實時或CPU時間的25秒運行時間?
- 20. awk性能和CPU運行時間
- 21. 在特定時間運行VBA代碼
- 22. 自無限時間運行代碼
- 23. 運行代碼一段時間
- 24. optmise此代碼最小運行時間
- 25. VBA excel代碼運行時間
- 26. 根據CPU架構,運行時可以有條件代碼嗎?
- 27. 代碼簽入運行代碼分析
- 28. 外部.js只運行代碼的某些部分
- 29. 運行代碼部分,而不是按Ctrl +在RStudio中輸入的代碼行
- 30. 串行CPU與GPU代碼
哪種語言? – 2009-11-21 17:56:12
謝謝大家的回覆。 clock()看起來不錯。 (對不起,不具體,我使用gcc 4.1.3) – 2009-11-21 18:33:20