diff --git a/examples/testing/main_test.go b/examples/testing/main_test.go index 85fc243..c085951 100644 --- a/examples/testing/main_test.go +++ b/examples/testing/main_test.go @@ -67,10 +67,13 @@ func TestIntMinTableDriven(t *testing.T) { } } -// Benchmark tests typically go in `_test.go` files and begin with `Benchmark`. -// Each benchmark function is run several times, with `b.N` increasing on each -// run until the `testing` runner deems the benchmark to be accurate. +// Benchmark tests typically go in `_test.go` files and are +// named beginning with `Benchmark`. The `testing` runner +// executes each benchmark function several times, increasing +// `b.N` on each run until it collects a precise measurement. func BenchmarkIntMin(b *testing.B) { + // To measure a benchmark, the `testing` runner calls the + // function in a loop `b.N` times. for i := 0; i < b.N; i++ { IntMin(1, 2) } diff --git a/examples/testing/main_test.sh b/examples/testing/main_test.sh index b6ae704..b04fdb2 100644 --- a/examples/testing/main_test.sh +++ b/examples/testing/main_test.sh @@ -20,25 +20,10 @@ ok examples/testing 0.023s # Run all benchmarks in the current project in verbose # mode. All tests are run prior to benchmarks. The `bench` # flag receives a regex for benchmark function names. -$ go test -v -bench=. -=== RUN TestIntMinBasic ---- PASS: TestIntMinBasic (0.00s) -=== RUN TestIntMinTableDriven -=== RUN TestIntMinTableDriven/0,1 -=== RUN TestIntMinTableDriven/1,0 -=== RUN TestIntMinTableDriven/2,-2 -=== RUN TestIntMinTableDriven/0,-1 -=== RUN TestIntMinTableDriven/-1,0 ---- PASS: TestIntMinTableDriven (0.00s) - --- PASS: TestIntMinTableDriven/0,1 (0.00s) - --- PASS: TestIntMinTableDriven/1,0 (0.00s) - --- PASS: TestIntMinTableDriven/2,-2 (0.00s) - --- PASS: TestIntMinTableDriven/0,-1 (0.00s) - --- PASS: TestIntMinTableDriven/-1,0 (0.00s) +$ go test -bench=. goos: darwin goarch: arm64 pkg: examples/testing -BenchmarkIntMin BenchmarkIntMin-8 1000000000 0.3136 ns/op PASS ok examples/testing 0.351s diff --git a/examples/testing/testing.hash b/examples/testing/testing.hash index c3d896f..ccce2ec 100644 --- a/examples/testing/testing.hash +++ b/examples/testing/testing.hash @@ -1,2 +1,2 @@ -c3489e12554d4b865ae225bc8bad2d9e634fe429 -Ct1lKa6FttL +d3b047089cf762a8aa9778a8365a29eb31363288 +HryvnW3zHYJ diff --git a/public/testing b/public/testing index 7ce6b1b..cf3c2a1 100644 --- a/public/testing +++ b/public/testing @@ -47,7 +47,7 @@ typically lives in the same package as the code it tests.
package main@@ -184,15 +184,29 @@ when executing
go test -v
.
Benchmark tests typically go in _test.go
files and begin with Benchmark
.
-Each benchmark function is run several times, with b.N
increasing on each
-run until the testing
runner deems the benchmark to be accurate.
Benchmark tests typically go in _test.go
files and are
+named beginning with Benchmark
. The testing
runner
+executes each benchmark function several times, increasing
+b.N
on each run until it collects a precise measurement.
+func BenchmarkIntMin(b *testing.B) { ++
To measure a benchmark, the testing
runner calls the
+function in a loop b.N
times.
-func BenchmarkIntMin(b *testing.B) { for i := 0; i < b.N; i++ { IntMin(1, 2) } @@ -243,25 +257,10 @@ flag receives a regex for benchmark function names. -$ go test -v -bench=. -=== RUN TestIntMinBasic ---- PASS: TestIntMinBasic (0.00s) -=== RUN TestIntMinTableDriven -=== RUN TestIntMinTableDriven/0,1 -=== RUN TestIntMinTableDriven/1,0 -=== RUN TestIntMinTableDriven/2,-2 -=== RUN TestIntMinTableDriven/0,-1 -=== RUN TestIntMinTableDriven/-1,0 ---- PASS: TestIntMinTableDriven (0.00s) - --- PASS: TestIntMinTableDriven/0,1 (0.00s) - --- PASS: TestIntMinTableDriven/1,0 (0.00s) - --- PASS: TestIntMinTableDriven/2,-2 (0.00s) - --- PASS: TestIntMinTableDriven/0,-1 (0.00s) - --- PASS: TestIntMinTableDriven/-1,0 (0.00s) -goos: darwin +$ go test -bench=. +goos: darwin goarch: arm64 pkg: examples/testing -BenchmarkIntMin BenchmarkIntMin-8 1000000000 0.3136 ns/op PASS ok examples/testing 0.351s@@ -283,7 +282,7 @@ flag receives a regex for benchmark function names.