The NoSlow package
NoSlow is a benchmark suite for several Haskell array libraries: standard lists, primitive sequential arrays from the DPH project, uvector, vector (primitive, storable and boxed arrays) and storablevector. At the moment, it implements a bunch of fairly random loop micro-kernels and a couple of small array algorithms. It will include many more benchmarks in the future.
In its present state, NoSlow /cannot/ be used to reliably compare the performance of the benchmarked libraries. It can be quite helpful for identifying cases where a closer inspection of the generated code might be warranted, however.
The package builds two binaries: @noslow@ and @noslow-table@.
[@noslow -o log@] runs the benchmarks and writes the results to 'log'
[@noslow-table log -o table.html --html@] outputs the results from @log@ as a HTML table.
[@noslow-table log -o table.html --raw --csv@] outputs the results from @log@ as a CSV file suitable for importing into spreadsheets.
[@noslow-table --diff log1 log2@ -o table.html@] produces a table comparing the results from 'log1' and 'log2' (2 means the first run was 2x slower than the second; 0.5 means 2x faster).
[@noslow-table --help@] lists additional options.
NoSlow is described in more detail here: <http://unlines.wordpress.com/2009/11/27/noslow/>.
Changes since version 0.1
* Renamed and reorganised loop kernels
* Several small array algorithms organised in the new benchmark category @mini@
* More reliable benchmark execution
* Support for producing CSV files
|Versions||0.1, 0.1.1, 0.2|
|Dependencies||array, base (≥3 & <5), containers, criterion (0.4.*), statistics (≥0.3.5 & <4), template-haskell|
|Copyright||Roman Leshchinskiy 2009-10|
|Author||Roman Leshchinskiy <email@example.com>|
|Maintainer||Roman Leshchinskiy <firstname.lastname@example.org>|
|Upload date||Mon Feb 15 11:48:07 UTC 2010|