llvm-project/llgo/utils/benchcomp
..
README
analyze.R
main.go

README

These are some quick and dirty tools for measuring the performance impact
of a change to llgo by sampling the results of running the libgo benchmark
suite. They can be used to calculate the geo-mean and 95% confidence interval
using the Student's t-test. The benchcomp program massages the output of the
Go benchmark tools into a form that can be read by the R program analyze.R
which runs the statistics.

To use, clpatch this into gofrontend:
https://codereview.appspot.com/103550047/

then run:

make
make -C workdir/gofrontend_build/libgo-stage1 bench 2>&1 | tee before.out
# make changes
make
make -C workdir/gofrontend_build/libgo-stage1 bench 2>&1 | tee after.out
utils/benchcomp/benchcomp benchns before.out after.out | R -f utils/benchcomp/analyze.R

The results should be displayed on stdout.