@@ -43,8 +43,9 @@ Run all O(1) space complexity benchmarks in `Prelude.Serial` suite:
43$ ./bench.sh --benchmarks Prelude.Serial -- Prelude.Serial/o-1-space
43$ ./bench.sh --benchmarks Prelude.Serial -- Prelude.Serial/o-1-space
46+Anything after a `--` is passed to the benchmark executable,
46−Anything after a `--` is passed to gauge, it basically selects all benchmarks
47+it basically selects all benchmarks starting with
47−starting with `Prelude.Serial/o-1-space` prefix.
48+`Prelude.Serial/o-1-space` prefix.
49Run a specific benchmark in `Prelude.Serial` suite:
50Run a specific benchmark in `Prelude.Serial` suite:
@@ -52,7 +53,18 @@ Run a specific benchmark in `Prelude.Serial` suite:
52$ ./bench.sh --benchmarks Prelude.Serial -- Prelude.Serial/o-1-space/generation/unfoldr
53$ ./bench.sh --benchmarks Prelude.Serial -- Prelude.Serial/o-1-space/generation/unfoldr
56+Run a benchmark directly instead of running it through `bench.sh`:
59+$ cabal run bench:Prelude.Serial -- --quick Prelude.Serial/o-1-space/generation/unfoldr
62+The options after `--` are the benchmark executable options.
55−## Comparing results for regression
64+## Comparing results of arbitrary runs
66+Note: use `--quick` and benchmark selection if you do not intend to wait for a
57To compare two sets of results, first run the benchmarks at the baseline
69To compare two sets of results, first run the benchmarks at the baseline
@@ -71,6 +83,11 @@ $ ./bench.sh --append
71Append just adds the next set of results in the same results file. You can keep
83Append just adds the next set of results in the same results file. You can keep
72appending more results and all of them will be compared with the baseline.
84appending more results and all of them will be compared with the baseline.
86+## Comparing results of two commits
88+Note: use `--quick` and benchmark selection if you do not intend to wait for a
74You can use `--compare` to compare the previous commit with the head commit:
91You can use `--compare` to compare the previous commit with the head commit:
@@ -102,7 +119,7 @@ $ ./bench.sh --benchmarks help
104You will see some benchmark suites end with `_cmp`, these are comparison
121You will see some benchmark suites end with `_cmp`, these are comparison
105−groups. If you run a comparsion group benchmark, comparison of all the
122+groups. If you run a comparison group benchmark, comparison of all the
106benchmark suites in that group will be shown in the end. For example to compare
123benchmark suites in that group will be shown in the end. For example to compare
107all array benchmark suites:
124all array benchmark suites:
@@ -122,3 +139,27 @@ You can also manually edit the file to remove a set of results if you like or
122to append results from previously saved results or from some other results
139to append results from previously saved results or from some other results
123file. After editing you can run `bench.sh` with the `--no-measure` option to
140file. After editing you can run `bench.sh` with the `--no-measure` option to
124see the reports corresponding to the results.
141see the reports corresponding to the results.
143+## Additional benchmark configuration
147+You can specify the stream size (default is 100000) to be used for
151+$ cabal run bench:Prelude.Serial -- --quick --stream-size 1000000
156+In the `FileSystem.Handle` benchmark you can specify the input file as an
157+environment variable:
160+$ export Benchmark_FileSystem_Handle_InputFile=./gutenberg-500.txt
161+$ cabal run FileSystem.Handle -- --quick FileSystem.Handle/o-1-space/reduce/read/S.splitOnSeq
164+The automatic tests do not test unicode input, this option is useful to specify
165+a unicode text file manually.