benchstat: avoid reading whole inputs

For very large benchmark inputs it makes sense to avoid
reading the entire file into memory.

Change-Id: Ib7f1b13c1b7b4659323a912aee1c4a5a3d6a49a5
Reviewed-on: https://go-review.googlesource.com/c/159057
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Ian Rogers <irogers@google.com>
2 files changed
tree: 406e1d75bc09e16b875bd849546383f7df4e92fc
  1. analysis/
  2. benchstat/
  3. cmd/
  4. internal/
  5. storage/
  6. vendor/
  7. AUTHORS
  8. CONTRIBUTING.md
  9. CONTRIBUTORS
  10. LICENSE
  11. PATENTS
  12. README.md
README.md

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.

Download/Install

The easiest way to install is to run go get -u golang.org/x/perf/cmd/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/perf.

Report Issues / Send Patches

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.