9

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

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

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

4

1 回答 1

8

例如查看算法复杂性?

有一个包:

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

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

于 2013-07-02T09:21:14.407 回答