Microbenchmarks for various array libraries

Latest on Hackage:0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed and maintained by Roman Leshchinskiy

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

comments powered byDisqus