在 Go 中绘制基准测试结果

Plot benchmark's result in Go

假设我编写了不同的函数来计算斐波那契的第 n 个数:

func fiboIterative(n int) {
   ...
}

func fiboRecursive(n int) {
   ...
}

我想要一张图表,根据 n 的值显示每个函数的性能。

到目前为止,我一直在使用内置的 testing 包进行基准测试,该包将每次操作的时间打印到控制台。是否有一个简单的 way/package 到 运行 多个 n 值的基准,将结果存储在 csv 或类似的东西中,然后绘制它们?

I would have expected something like this to be built in... It is weird to provide a benchmarking utility without this

在语言包中包含一个 cross-platform 绘图库似乎并不明显,必须对其进行维护。

就像现在一样,您需要依赖 third-party 个项目来获得基准测试的绘图功能。

例如项目aybabtme/benchkit从benchmarks生成svg plot图片

lightweight, feather touch, benchmarking kit. In comparison to the standard pprof utilities, this package is meant to help generating graphs and other artifacts.