benchstat: adjust new sort functionality

- rename benchstat.SortTable to benchstat.Sort
- rename benchstat.SortFunc to benchstat.Order
- rename benchstat.SortReverse to benchstat.Reverse
  (it doesn't sort)
- fix benchstat.Sort to be a stable sort

- document new -sort flag
- rename -sort=benchmark to -sort=name
- rename -reverse -sort=delta to -sort=-delta
- drop benchstat.ByChange, -sort=change option
  (it's not meaningfully different from -delta)
- add test of reverse delta sort

Change-Id: Ie6348b02ca71662743131bb2533ccee5fdc05323
Reviewed-on: https://go-review.googlesource.com/105175
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
9 files changed
tree: 67aba8cd660df4a7e5d2ab3f3c12b35d945f96f4
  1. AUTHORS
  2. CONTRIBUTING.md
  3. CONTRIBUTORS
  4. LICENSE
  5. PATENTS
  6. README.md
  7. analysis/
  8. benchstat/
  9. cmd/
  10. internal/
  11. storage/
  12. vendor/
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. 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.