gpt4 book ai didi

nim-lang - 如何在 nim 中对几行代码进行基准测试?

转载 作者:行者123 更新时间:2023-12-02 22:02:15 25 4
gpt4 key购买 nike

我从头到尾读了这个:http://nim-lang.org/docs/times.html

但仍然无法弄清楚简单的事情:如何以毫秒为单位两次获取时间,一次在我的代码之前,一次在我的代码运行之后,然后打印差异?

我尝试了他们的例子:

var t0 = cpuTime()
sleep(300)
echo "CPU time [s] ", cpuTime() - t0

但这打印出一些毫无意义的内容:

CPU time [s] 4.200000000000005e-05

最佳答案

如果您计划执行大量测量,最好的方法是创建一个可重用的帮助模板,抽象出计时代码:

import times, os, strutils

template benchmark(benchmarkName: string, code: untyped) =
block:
let t0 = epochTime()
code
let elapsed = epochTime() - t0
let elapsedStr = elapsed.formatFloat(format = ffDecimal, precision = 3)
echo "CPU Time [", benchmarkName, "] ", elapsedStr, "s"

benchmark "my benchmark":
sleep 300

这将打印出来

CPU Time [my benchmark] 0.305s

如果您需要有关项目中包含的所有代码的性能的更全面的数据,Nim 提供了一种特殊的构建模式,该模式可以使用分析探针来检测已编译的代码。您可以在这里找到更多相关信息:

http://nim-lang.org/docs/estp.html

最后,由于 Nim 生成的 C 代码的 C 函数名称直接与其 Nim 对应项相对应,因此您可以将任何 C 分析器与 Nim 程序一起使用。

关于nim-lang - 如何在 nim 中对几行代码进行基准测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36577570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com