From 6157b5a256aff3bb2c2abc853f2e41c762d15a62 Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Mon, 14 Apr 2014 17:00:04 -0700 Subject: [PATCH] go.tools/cmd/benchcmp: expand documentation LGTM=r R=r CC=golang-codereviews https://golang.org/cl/85390044 --- cmd/benchcmp/benchcmp.go | 1 - cmd/benchcmp/doc.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 cmd/benchcmp/doc.go diff --git a/cmd/benchcmp/benchcmp.go b/cmd/benchcmp/benchcmp.go index ce396ce3..c2f0013e 100644 --- a/cmd/benchcmp/benchcmp.go +++ b/cmd/benchcmp/benchcmp.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Benchcmp is a utility for comparing benchmark runs. package main import ( diff --git a/cmd/benchcmp/doc.go b/cmd/benchcmp/doc.go new file mode 100644 index 00000000..b0714b90 --- /dev/null +++ b/cmd/benchcmp/doc.go @@ -0,0 +1,37 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* + +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% + +*/ +package main