回答
#include<time.h>
main()
{
clock_t t1=clock();
printf("Dummy Statement\n");
clock_t t2=clock();
printf("The time taken is.. %g ", (t2-t1));
請看下面的鏈接。 What’s the correct way to use printf to print a clock_t?
http://www.velocityreviews.com/forums/t454464-c-get-time-in-milliseconds.html
一條指令將花費比1毫秒更短的時間執行。如果你試圖測量多條指令,它會變得複雜(關於多次調用指令的循環)。
此外,您可以使用的大多數定時功能只是:功能。這意味着他們也會執行指令。如果你想要一個指令的時間,那麼最好的辦法是查找你正在使用的處理器的規格,看看它需要多少個週期。
以編程方式進行此操作是不可能的。
編輯:
既然你已經更新了你的問題現在參考一些說明。您可以在某些處理器上測量亞毫秒時間。很高興知道這個環境。這將在x86和Linux上工作,其他環境將有所不同。
Clock get time允許亞納秒精度。或者你可以自己調用rdstc指令(在多處理器或smp系統上運行這個指令 - 你可能在測量錯誤的東西,比如指令運行在不同的處理器上)。
我需要測量執行一組指令所需的時間。但所花費的時間少於1毫秒。我已經嘗試過使用時鐘功能。有什麼建議麼??? – Romaan
實際到的時間實際上完成一條指令取決於時鐘週期時間以及指令通過處理器的流水線深度。正如戴夫所說,通過製作程序你無法真正發現這一點。您可以使用您的操作系統提供的某種定時功能來測量完成一些小指令所需的CPU時間。如果你這樣做,儘量不要使用任何依賴內存或分支的指令。理想情況下,你可能會做某種邏輯或算術運算(所以也許在C中使用一些內聯彙編)。
- 1. 程序執行的C++測量時間
- 2. 使用RDTSC指令在C中測量代碼執行時間
- 3. 測量程序執行時間
- 4. 如何測量執行的彙編程序指令的數量?
- 5. 測量多線程的執行時間
- 6. 使用C#測量執行時間
- 7. 測量時間執行
- 8. 測量執行時間
- 9. 測量執行時間短
- 10. 測量Java執行時間
- 11. 測量java短時間運行的線程執行時間
- 12. 如何測量Spark GraphX應用程序的執行時間?
- 13. 問題測量程序執行時間的Linux /猛砸
- 14. 測量執行程序時間的方法
- 15. 在mapForce中測量XSLT 2.0程序的執行時間
- 16. 如何測量100次程序執行的時間?
- 17. 測量執行時間 - 在程序代碼或shell中?
- 18. C指令不按順序執行
- 19. C程序的命令行執行
- 20. 當我從Java代碼執行它時,應該如何測量C++程序的執行時間?
- 21. 如何測量每一行的執行時間在C#
- 22. 測量時間進行簡單的指令
- 23. 在linux中測量c程序的運行時間
- 24. 如何計算在ARM程序中執行的指令數量?
- 25. 如何在執行期間測量C/C++/Java程序使用的內存?
- 26. 在多線程環境中測量線程的執行時間
- 27. 線程執行指定的時間。
- 28. C++程序指令
- 29. 在java中是否有命令來測量執行時間?
- 30. SPARQL查詢執行時間測量命令
指令?以毫秒爲單位?我想這是你正在談論的一個古老的計算機。你可以用秒錶來測量它... – valdo
非常有趣...但是,謝謝 – Romaan
另一種方法是讀取編譯器生成的彙編代碼(使用gcc試試-S開關),然後查找時鐘週期數目標處理器文檔中的每個彙編指令。 – potrzebie