]> Cypherpunks repositories - gostls13.git/commit
testing: print cpu type as label for benchmarks
authorMartin Möhrmann <moehrmann@google.com>
Tue, 20 Oct 2020 07:56:14 +0000 (09:56 +0200)
committerMartin Möhrmann <moehrmann@google.com>
Tue, 20 Oct 2020 21:30:18 +0000 (21:30 +0000)
commitb7a2d413a3f710f14accedf185c93bfb63d24fd0
tree0b742d64de218eae529e71a0c7bbe56119b6bbdc
parent80182d45b5d2ff86da7b6587a2a09d8924dd0a95
testing: print cpu type as label for benchmarks

Supports 386 and amd64 architectures on all operating systems.

Example output:
$ go test -bench=.*
goos: darwin
goarch: amd64
pkg: strconv
cpu: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
BenchmarkAtof64Decimal-4         24431032         46.8 ns/op
...

As the displayed CPU information is only used for information
purposes it is lazily initialized when needed using the new
internal/sysinfo package.

This allows internal/cpu to stay without dependencies and avoid
initialization costs when the CPU information is not needed as
the new code to query the CPU name in internal/cpu can be
dead code eliminated if not used.

Fixes #39214

Change-Id: I77ae5c5d2fed6b28fa78dd45075f9f0a6a7f1bfd
Reviewed-on: https://go-review.googlesource.com/c/go/+/263804
Trust: Martin Möhrmann <moehrmann@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/go/build/deps_test.go
src/internal/cpu/cpu_no_name.go [new file with mode: 0644]
src/internal/cpu/cpu_x86.go
src/internal/sysinfo/sysinfo.go [new file with mode: 0644]
src/testing/benchmark.go