Performance measurement, storage, and analysis.

Clone this repo:

Branches

  1. ae5bfa6 benchstat: don't print sign for 0% when there is no change by Josh Bleecher Snyder · 4 weeks ago master
  2. 0da03b5 benchstat: handle user-ns/op units by Josh Bleecher Snyder · 3 months ago
  3. 844f014 README: correct flag value in example by Tamir Duberstein · 6 weeks ago
  4. f1c8e1c analysis: linkify labels when possible by Quentin Smith · 6 weeks ago
  5. b74b457 storage: add Context arguments for queries by Quentin Smith · 9 weeks ago

Go performance measurement, storage, and analysis tools

This subrepository holds the source for various packages and tools related to performance measurement, storage, and analysis.

cmd/benchstat contains a command-line tool that computes and compares statistics about benchmarks.

cmd/benchsave contains a command-line tool for publishing benchmark results.

storage contains the https://perfdata.golang.org/ benchmark result storage system.

analysis contains the https://perf.golang.org/ benchmark result analysis system.

Both storage and analysis can be run locally; the following commands will run the complete stack on your machine with an in-memory datastore.

go get -u golang.org/x/perf/storage/localperfdata
go get -u golang.org/x/perf/analysis/localperf
localperfdata -addr=:8081 -view_url_base=http://localhost:8080/search?q=upload: &
localperf -addr=:8080 -storage=http://localhost:8081

The storage system is designed to have a standardized API, and we encourage additional analysis tools to be written against the API. A client can be found in the storage package.


Contributions to Go are appreciated. See http://golang.org/doc/contribute.html.