performance - 测量 D 语言的执行时间

标签 performance time d execution-time

我是 D 语言新手,需要测量算法的执行时间。我有什么选择?是否已经有一些内置的解决方案?我在网上找不到任何确凿的信息。

最佳答案

一种方法是使用-profile命令行参数。运行程序后,它将创建文件 trace.log,您可以在其中找到每个函数的运行时间。这当然会减慢您的程序,因为编译器会将时间计数代码插入到您的每个函数中。此方法用于查找功能的相对速度,以确定您应该优化哪些功能,以最小的努力提高应用程序速度。

第二个选项是使用 std.datetime.StopWatch类(class)。请参阅链接中的示例。

或者更适合的可能是直接使用 std.datetime.benchmark功能。

不要忘记:

  1. 在进行基准测试时,使用这些 dmd 编译器标志来实现最大优化-release -O -inline -n​​oboundscheck
  2. 永远不要对调试构建进行基准测试。
  3. 确保您不在基准测试函数内调用任何库代码 - 您将对库实现的性能而不是您自己的代码进行基准测试。

此外,您可以考虑使用LDCGDC编译器。它们都提供比 DMD 更好的优化/应用程序运行速度。

关于performance - 测量 D 语言的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17856567/

相关文章:

algorithm - 除了使用循环展开之外,还有其他优化向量矩阵乘法的方法吗?

python - 如何将时间戳转换为午夜以来的秒数?

D中的sqlite3压缩函数

templates - 一个专用 D 模板中的多种类型

templates - D 中柯里化(Currying)函数的模板?

c - 外部函数调用与静态函数调用的性能

python - 将一个数据集中的值替换为另一个数据集中的值的有效方法

java - 将时间字符串转换为 ISO 8601 格式

无需专用函数即可将纪元时间转换为人类可读

c++ - 是否有导致 50% 分支预测未命中的代码?