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


Properties

Versions0.1, 0.1.1, 0.2
Dependenciesarray, base (>=3 && <5), containers, criterion (==0.4.*), statistics (>=0.3.5 && <4), template-haskell
LicenseBSD3
CopyrightRoman Leshchinskiy 2009-10
AuthorRoman Leshchinskiy <rl@cse.unsw.edu.au>
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
CategoryDevelopment, Profiling
Home pagehttp://code.haskell.org/NoSlow
Executablesnoslow-table, noslow
Upload dateMon Feb 15 11:48:07 UTC 2010
Uploaded byRomanLeshchinskiy
Downloads269 total (27 in last 30 days)

Flags

NameDescriptionDefault
dph-prim-seqEnabled
vectorEnabled
uvectorEnabled
storablevectorEnabled

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

Downloads

Maintainers' corner

For package maintainers and hackage trustees