Often I’d like to compare the runtime performance of multiple implementations of the same function. For individual inputs, criterion is a good tool.
But what is an easy way to plot the performance of the code over varying input size, e.g. to see the algorithmic complexity?
Ideally, I pass the library a value of type Benchmarkable r => [(String, Int -> r)]
, i.e. a list of size-dependent benchmarks, and the library will automatically find a the sensible input range for each value and creates a nice plot from it.
e.g. to see the algorithmic complexity?
There's a package for that:
http://hackage.haskell.org/package/complexity
However, I typically use QuickCheck to drive testing at random data sizes, then plot the result.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With