Performance measurement, storage, and analysis.

Clone this repo:


  1. 4979bd1 analysis/app: add "commit" tooltip to trend by Tamir Duberstein · 3 months ago master
  2. ae5bfa6 benchstat: don't print sign for 0% when there is no change by Josh Bleecher Snyder · 4 months ago
  3. 0da03b5 benchstat: handle user-ns/op units by Josh Bleecher Snyder · 6 months ago
  4. 844f014 README: correct flag value in example by Tamir Duberstein · 4 months ago
  5. f1c8e1c analysis: linkify labels when possible by Quentin Smith · 4 months 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 benchmark result storage system.

analysis contains the 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
go get -u
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