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 install golang.org/x/perf/storage/localperfdata@latest go install golang.org/x/perf/analysis/localperf@latest 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.
The easiest way to install is to run
go install golang.org/x/perf/cmd/...@latest. You can also manually git clone the repository and run
go install golang.org/x/perf/cmd/....
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the perf repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/perf:” in the subject line, so it is easy to find.