我经常想比较同一函数的多个实现的运行时性能。对于个人投入,标准是一个很好的工具。
但是,在不同的输入大小上绘制代码性能的简单方法是什么,例如:看到算法的复杂性?
理想情况下,我向库传递类型Benchmarkable r => [(String, Int -> r)]
的值,即依赖于大小的基准列表,库将自动为每个值找到合理的输入范围,并从中创建一个很好的图。
答案 0 :(得分:8)
e.g。看到算法的复杂性?
有一个包装:
http://hackage.haskell.org/package/complexity
但是,我通常使用QuickCheck来驱动随机数据大小的测试,然后绘制结果。