The NoSlow package

[Tags: bsd3, program]

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: <>.

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


Versions0.1, 0.1.1, 0.2
Dependenciesarray, base (>=3 && <5), containers, criterion (>=0.2), dph-base, dph-prim-seq, statistics (>=0.3.5 && <4), storablevector (>=0.2), template-haskell, uvector (>=0.1), vector (>=0.5)
CopyrightRoman Leshchinskiy 2009-10
AuthorRoman Leshchinskiy <>
MaintainerRoman Leshchinskiy <>
CategoryDevelopment, Profiling
Home page
Executablesnoslow-table, noslow
UploadedMon Feb 15 11:48:07 UTC 2010 by RomanLeshchinskiy
Downloads480 total (45 in last 30 days)
StatusDocs not available [build log]
All reported builds failed [all 1 reports]



Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees