Microbenchmarks for various array libraries.
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
andlog2
(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