我是D語言的新手,需要測量算法的執行時間。我有什麼選擇?是否已經有一些內置的解決方案?我在網上找不到任何決定性結論。用D語言測量執行時間
11
A
回答
14
一種方法是使用-profile
命令行參數。運行該程序後,它將創建文件trace.log您可以在其中找到每個函數的運行時間。這當然會減慢你的程序,因爲編譯器會在你的函數中插入時間計數代碼。此方法用於查找函數的相對速度,以確定您應該優化哪些內容,以最小的努力提高應用速度。
第二種選擇是使用std.datetime.StopWatch類。請參閱鏈接中的示例。
或者甚至更適合可能是直接使用std.datetime.benchmark功能。
不要忘記:
- 當標杆使用這些DMD編譯器標誌,以達到最大的優化
-release -O -inline -noboundscheck
。 - 永不基準調試構建。
- 確保您的不會在基準函數內部調用任何庫代碼 - 您將基準執行庫實現的性能,而不是您自己的代碼。
3
如果你的算法可以從命令行調用,那麼在D中有一個漂亮的實用程序,它可以運行你的程序一段時間,並打印出平均所用時間和各種其他有用數字的分佈。
這就是所謂的avgtime和它在這裏:https://github.com/jmcabo/avgtime
0
std.benchmark是在審查隊列。
相關問題
- 1. 測量時間執行
- 2. C++測量執行時間
- 3. 測量執行時間
- 4. 測量Java執行時間
- 5. 測量執行時間短
- 6. 使用SPIM測量執行時間
- 7. 使用C#測量執行時間
- 8. 使用clock()來測量執行時間
- 9. 測量執行時間ECLIPSE CLP(或序言)
- 10. 測量多線程的執行時間
- 11. C - 測量功能時間執行
- 12. CakePHP 2.1測量頁面執行時間
- 13. 測量代碼執行時間
- 14. 如何測量構建執行時間?
- 15. R中測量功能執行時間
- 16. 測量程序執行時間
- 17. 測量芹菜任務執行時間
- 18. 準確測量執行時間(秒)
- 19. PHP執行時間測量精度
- 20. 在linux中測量執行時間
- 21. 程序執行的C++測量時間
- 22. d語言線程
- 23. E語言支持D語言
- 24. D語言的語言自省
- 25. 測量java短時間運行的線程執行時間
- 26. D語言中的並行迭代器
- 27. PDO語句執行時間
- 28. 同步線程C語言中的時間測量
- 29. 測量執行時間與時鐘秒用C不工作
- 30. D的MySQL語言綁定?
分析不是我在這種情況下需要的,但'std.datetime.StopWatch'正是我所需要的。 – clstaudt