The benchcmp command displays performance changes between benchmarks.
Benchcmp parses the output of two ‚go test‘ benchmark runs, correlates the results per benchmark, and displays the deltas.
To measure the performance impact of a change, use ‚go test‘ to run benchmarks before and after the change:
go test -run=NONE -bench=. ./... > old.txt # make changes go test -run=NONE -bench=. ./... > new.txt
Then feed the benchmark results to benchcmp:
benchcmp old.txt new.txt
Benchcmp will summarize and display the performance changes, in a format like this:
$ benchcmp old.txt new.txt benchmark old ns/op new ns/op delta BenchmarkConcat 523 68.6 -86.88% benchmark old allocs new allocs delta BenchmarkConcat 3 1 -66.67% benchmark old bytes new bytes delta BenchmarkConcat 80 48 -40.00%