haskellhaskell-criterion

capabilities of criterion


I found some old examples of the use of criterion here. It looks as if back in 2009 it was supporting command line options for drawing graphs.

Now, when I import criterion 0.6, wrap it in a basic application (to test it) and say ./application --help it gives only vert little available options and nothing related to drawing. It seems to me as if concerning output formats and capabilities it had more features in 2009 than it has in 2012?

There seems to be a criterion-to-html that creates basic html reports, but nothing that comes close to e.g. the png output show on the above website or in the examples directory of the criterion source packet.

Where can I find accurate and up to date information?

./application --help

Usage: application [OPTIONS] [BENCHMARKS]
  -h, -?       --help               print help, then exit
  -G           --no-gc              do not collect garbage between iterations
  -g           --gc                 collect garbage between iterations
  -I CI        --ci=CI              bootstrap confidence interval
  -l           --list               print only a list of benchmark names
  -o FILENAME  --output=FILENAME    report file to write to
  -q           --quiet              print less output
               --resamples=N        number of bootstrap resamples to perform
  -s N         --samples=N          number of samples to collect
  -t FILENAME  --template=FILENAME  template file to use
  -u FILENAME  --summary=FILENAME   produce a summary CSV file of all results
  -V           --version            display version, then exit
  -v           --verbose            print more output
If no benchmark names are given, all are run
Otherwise, benchmarks are run by prefix match


 ./application -k win
Error: unrecognized option `-k'
Run "application --help" for usage information

Solution

  • As monadic linked in the comments - charting (via the Chart library) is no longer supported in Criterion. The best it supplies is CSV output and the HTML output, both are quite useful. The CSV output can be graphed using whatever you want (pgfplots, Chart, gnuplot, etc), but some parsing will be needed. The HTML is very nice and you could take a screen shot of that if you're not looking for anything automated.

    If you have time then perhaps you can build/upload a package that reads Criterion CSVs and produces the old bar graphs via Chart (or even better ones!).