Performance measurement, storage, and analysis.

Clone this repo:


  1. e2bd313 analysis/app: show the geomean by Austin Clements · 2 weeks ago master
  2. e95bb83 benchstat: don't print geomean of just one benchmark by Austin Clements · 2 weeks ago
  3. bb8119d benchstat: omit 0 values from geomean by Austin Clements · 2 weeks ago
  4. 4c54bbd all: better API links in README by Quentin Smith · 3 weeks ago
  5. 7d6bbd1 all: improve local server workflow by Quentin Smith · 4 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 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=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