commit | 64dc439b20aef7259bd73a5452063060adb8d898 | [log] [tgz] |
---|---|---|
author | David Chase <drchase@google.com> | Mon Mar 14 18:40:31 2022 -0400 |
committer | Michael Knyszek <mknyszek@google.com> | Wed Mar 23 18:12:49 2022 +0000 |
tree | 84215b4257a9af95cabfd6f1f09f58c082ca56a7 | |
parent | 96728ec1d780dddcaaa538b0eb0eefa5c07faf8f [diff] |
cmd/benchseries: a fresh start commit, because git/gerrit got mad at the old one This is a squash of all that work, applied using patch. Testdata in a bit, I intend to rework that. split defaults into real defaults and bent defaults. document the defaults normalize all the times flowing through to UTC. update time normalization to allow nanosecond time stamps. add change detection for no-noise benchmarks tinker around the edges for MK fixed to be robust with mixed old/new (old = summaries from JSON, DB ) collects residues, per-unit. The bent defaults ignore a lot of keys to avoid dealing with dirty bent data. It now has a test of repeatable behavior and order independence. A few more functions in benchseries have been exported, I added a convenience function for reading benchmark files. The floating point code was tweaked to work the same on arm64 and other architectures with fused multiply-add. Change-Id: I5422ad9454df7577e99492589cec6a68135a4d4a Reviewed-on: https://go-review.googlesource.com/c/perf/+/392658 Trust: David Chase <drchase@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
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.