Go to file
cui fliter 8520151a72 all: fix some comments
Change-Id: I8a332489815651067a36c84690db9c6cb540882e
Reviewed-on: https://go-review.googlesource.com/c/benchmarks/+/465998
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
2023-02-08 14:50:34 +00:00
build build: return correct iteration count 2017-02-20 03:59:32 +00:00
cmd all: fix some comments 2023-02-08 14:50:34 +00:00
driver all: replace io/ioutil with io and os package 2022-09-19 17:23:14 +00:00
garbage all: replace io/ioutil with io and os package 2022-09-19 17:23:14 +00:00
http all: replace io/ioutil with io and os package 2022-09-19 17:23:14 +00:00
json all: replace io/ioutil with io and os package 2022-09-19 17:23:14 +00:00
reflect reflect: add a copy of BenchmarkMap 2021-10-01 21:27:49 +00:00
stats all: fix some comments 2023-02-08 14:50:34 +00:00
sweet sweet: fix common.Go.Do call 2022-12-13 19:27:51 +00:00
third_party all: fix some comments 2023-02-08 14:50:34 +00:00
.gitignore convert .hgignore to .gitignore. 2014-12-08 18:08:11 +11:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:41:36 +00:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README benchmarks: document required Linux packages 2017-10-31 14:06:15 +00:00
codereview.cfg benchmarks: add codereview.cfg 2015-03-18 17:04:32 +00:00
go.mod all: update golang.org/x/sys to v0.1.0 2022-11-01 01:48:53 +00:00
go.sum all: update golang.org/x/sys to v0.1.0 2022-11-01 01:48:53 +00:00

README

This subrepository holds macro-benchmarks used for Go performance
development and monitoring.

Each benchmark is compiled into a separate binary. To build and
install them all in the current directory, execute:

	$ GOBIN=$PWD go get golang.org/x/benchmarks/...

To run a benchmark, simply execute its binary.

Each binary has a number of flags to control benchmark duration, etc.
Run with '-help' to get the full list of flags.

When the benchmarking finishes, the binary prints results in the
standard Go benchmark format [1]:

	$ garbage
	BenchmarkGarbage/benchmem-MB=64-4     2000	   6443223 ns/op	   6008832 GC-bytes-from-system	    230521 STW-ns/GC	     15329 STW-ns/op	   2780501 allocated-bytes/op	     68636 allocs/op	 119041368 bytes-from-system	 104202240 heap-bytes-from-system	   8109400 other-bytes-from-system	 112427008 peak-RSS-bytes	 121511936 peak-VM-bytes	    720896 stack-bytes-from-system	  25194000 user+sys-ns/op

This format can be processed by tools like benchstat
(https://golang.org/x/perf/cmd/benchstat) and benchplot
(https://godoc.org/github.com/aclements/go-misc/benchplot).

Required extra tools:
  For Linux, you need "perf". On Debian/Ubuntu, you can install
  package "perf-tools-common" to get it. Run "perf" once with no
  arguments to check if it requires additional packages to be installed.

To submit changes to this repository, see http://golang.org/doc/contribute.html.

[1] https://github.com/golang/proposal/blob/master/design/14313-benchmark-format.md