I’m pleased to announce the availability of version 0.2 of my criterion library for Haskell performance evaluation.

Compared to version 0.1, this version has some significant changes.

The benchmarking API has been improved! If you’re benchmarking a pure function, you no longer need to feed it an Int to ensure that it won’t get thunked or let-floated. Instead, Use the B data type (see the examples/ directory) to specify an unsaturated function that you want to benchmark, along with its last argument. Many thanks to Daniel Peebles for suggesting this approach, which makes the use of criterion considerably more pleasant.

to ensure that it won’t get thunked or let-floated. Instead, Use the data type (see the directory) to specify an unsaturated function that you want to benchmark, along with its last argument. Many thanks to Daniel Peebles for suggesting this approach, which makes the use of criterion considerably more pleasant. Neil Brown added a --kde-same-axis command-line option to allow plotting the KDEs for all the benchmarks with the same X axis. I’d like to thank Neil for his helpful work on some other code cleanup issues, too.

command-line option to allow plotting the KDEs for all the benchmarks with the same X axis. I’d like to thank Neil for his helpful work on some other code cleanup issues, too. There are some more, and better quality, examples in the examples/ directory.

directory. Tim Docker contributed a patch that improves graph rendering.

As the changes above suggest, several people have been actively contributing to the improvement of criterion, and I’m delighted by this. Please feel welcome to get involved; there are many improvements I’d like to make, but of course I have limited time to work on them. I’ll be happy to talk with you about other potentially useful changes.