NoSlow: 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 -o log
- runs the benchmarks and writes the results to
noslow-table log -o table.html --html
- outputs the results from
logas a HTML table.
noslow-table log -o table.html --raw --csv
- outputs the results
logas a CSV file suitable for importing into spreadsheets.
noslow-table --diff log1 log2-o table.html@
- produces a table
comparing the results from
log2(2 means the first run was 2x slower than the second; 0.5 means 2x faster).
- 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
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.*), dph-base, dph-prim-seq, statistics (>=0.3.5 && <4), storablevector (>=0.2), template-haskell, uvector (>=0.1), vector (>=0.5) [details]|
|Copyright||Roman Leshchinskiy 2009-10|
|Author||Roman Leshchinskiy <email@example.com>|
|Maintainer||Roman Leshchinskiy <firstname.lastname@example.org>|
|Uploaded||by RomanLeshchinskiy at Mon Feb 15 11:48:07 UTC 2010|
|Downloads||1555 total (20 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
Docs not available [build log]
All reported builds failed as of 2016-10-25 [all 10 reports]
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees