在不同大小的输入上运行Haskell基准测试

Joa*_*ner 9 benchmarking haskell graph time-complexity haskell-criterion

我经常想比较同一函数的多个实现的运行时性能.对于个人投入,标准是一个很好的工具.

但是,在不同的输入大小上绘制代码性能的简单方法是什么,例如,查看算法的复杂性?

理想情况下,我向库传递一个类型的值Benchmarkable r => [(String, Int -> r)],即依赖于大小的基准列表,库将自动为每个值找到合理的输入范围,并从中创建一个漂亮的图.

Don*_*art 8

例如,看看算法的复杂性?

有一个包:

http://hackage.haskell.org/package/complexity

但是,我通常使用QuickCheck来驱动随机数据大小的测试,然后绘制结果.

  • 太糟糕了,似乎包装有点腐烂; 它的依赖性hstats不构建在GHC 7.6中. (2认同)