Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 用D语言测量执行时间_Performance_Time_D_Execution Time - Fatal编程技术网

Performance 用D语言测量执行时间

Performance 用D语言测量执行时间,performance,time,d,execution-time,Performance,Time,D,Execution Time,我是D语言的新手,需要测量算法的执行时间。我有什么选择?是否已经有一些内置的解决方案?我在网上找不到任何结论。一种方法是使用-profile命令行参数。运行程序后,它将创建文件trace.log,您可以在其中找到每个函数的运行时间。这当然会减慢程序的速度,因为编译器会将计时代码插入到每个函数中。此方法用于查找函数的相对速度,以确定您应该优化哪些函数,以尽可能少地提高应用程序速度 第二种选择是使用类。请参见链接中的示例 或者更适合直接使用函数 别忘了: 基准测试时,使用这些dmd编译器标志实现最大

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

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

第二种选择是使用类。请参见链接中的示例

或者更适合直接使用函数

别忘了:

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

  • <>另外,您可以考虑使用或编译程序。两者都比DMD提供更好的优化/应用程序运行速度。

    如果可以从命令行调用您的算法,则有一个用D编写的漂亮实用程序,可以运行您的程序若干次,并打印出所用平均时间的分布以及所有其他有用的数字


    它名为avgtime,在这里:

    在审阅队列中。

    在本例中,配置文件不是我需要的,但是
    std.datetime.StopWatch
    正是我想要的。