在Go中绘制基准测试结果

4

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

func fiboIterative(n int) {
   ...
}

func fiboRecursive(n int) {
   ...
}

我希望能够获得一张图表,显示每个函数在不同n值下的性能表现。

目前,我一直在使用内置的 testing 包进行基准测试,并将每个操作的时间打印到控制台。是否有一种简单的方法/包可以运行多个 n 值的基准测试,将结果存储在 csv 或类似的文件中,然后绘制它们的图表?


我之前也遇到过同样的问题,据我所知没有简单的方法可以解决。最终我选择为n的典型值创建了单独的基准测试案例。 - Dean Elbaz
谢谢,我本来以为这种东西应该内置的...提供基准测试工具却没有这个功能,感觉有点奇怪。 - Spearfisher
有一个库可以为您完成这项任务。试试 https://github.com/codingberg/benchgraph。 - Nikhil
1个回答

1
我本来以为这样的功能会被内置... 提供一个基准测试工具却没有这个功能有点奇怪。
在语言包中包含跨平台绘图库似乎并不明显,这需要进行维护。
目前,您需要依赖第三方项目来实现基准测试的绘图功能。
例如,项目aybabtme/benchkit可以从基准测试生成svg绘图。
一个轻量级、触感轻盈的基准测试套件。与标准pprof工具相比,该软件包旨在帮助生成图形和其他工件。

https://github.com/aybabtme/benchkit/blob/master/benchplot/tar_memplot.png


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接