我是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