Improve nofib comparison output
When running nofib comparisons, I use these instructions
But "Comparison" command, namely $ cabal v2-run nofib-compare -- approach-b.results.csv approach-a.results.csv
, generates output that is much less helpful than it used to be. Sample:
# bytes allocated
+-------------------------------++--+----------------------------------------------------------------+-----------+----------------------------------------+-----------+
| || | /home/simonpj/code/HEAD/nofib/_make/2022-08-19/run.results.tsv | std. err. | _make/2022-08-25/run.results.tsv (rel) | std. err. |
+===============================++==+================================================================+===========+========================================+===========+
| imaginary/bernouilli || | 2.823e9 | 0.0% | 0.00% | 0.0% |
| imaginary/digits-of-e1 || | 9.147e8 | 0.0% | 0.00% | 0.0% |
| imaginary/digits-of-e2 || | 2.279e9 | 0.0% | +0.01% | 0.0% |
| imaginary/exp3_8 || | 5.887e9 | 0.0% | 0.00% | 0.0% |
| imaginary/gen_regexps || | 9.102e8 | 0.0% | 0.00% | 0.0% |
....
| imaginary/integrate || | 3.424e9 | 0.0% | 0.00% | 0.0% |
| spectral/simple || | 1.201e9 | 0.0% | 0.00% | 0.0% |
| spectral/sorting || | 3.077e9 | 0.0% | 0.00% | 0.0% |
| spectral/sphere || | 2.236e9 | 0.0% | 0.00% | 0.0% |
| spectral/treejoin || | 2.796e9 | 0.0% | 0.00% | 0.0% |
+===============================++==+================================================================+===========+========================================+===========+
| geom mean || | | -0.03% | | |
+-------------------------------++--+----------------------------------------------------------------+-----------+----------------------------------------+-----------+
Problems:
- It is far too wide. I have to resize my editor window every time, and my screen becomes mostly blank.
- There is no min and max, only geometric mean.
- It's not obvious what the geom mean is for. It sits at the bottom of the "std error column" but I'm guessing it belongs in the next column.
- I have no idea what either "std err" column is. They are always zero, diverting attention.
- The old nofib-analyse started with a table that looked like this, where I'm comparing a baseline run with three comparator runs (X1, X2, and X3, say)
Benchmark Binary size change Runtime allocs change Runtime change X1 X2 X3 X1 X2 X3 X1 X2 X3 spectral/sphere +2.8% -3% 0% +1% -1% +2.7% +0.8% +2% +6%
Edited by Simon Peyton Jones