38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
|
// 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 // import "golang.org/x/tools/cmd/benchcmp"
|