Hi Folks,
I'm getting weird results from Benchmark. Maybe someone can help me
understand this. I'm running on amd-64 (Threadripper 16 core 32 thread)
Windows 10. Go 1.14.3
I have the benchmark below (main_test.go) on a minimum "hello world"
main.go (just like playground).
When I run the benchmark as it is below, I get the results included just
below here. Notice it reports 0.135 ns/op but the time is actually 135 *ms* so
it is off by a factor of 1 billion. It is like it trying to report in
seconds but did not change the label from ns to s.
Further, if I increase the loop 10x from 10_000_000 to 100_000_000, then it
prints Duration 1.349 seconds (good) and now the Benchmark time has
increased by a factor of 10 *billion *and is now correctly reported as
1349224200 ns/op
What am I missing here?
BenchmarkMarshalSample-32 1000000000 0.135 ns/op 0
B/op 0 allocs/op
--- BENCH: BenchmarkMarshalSample-32
main_test.go:14: Duration 136.1221ms
main_test.go:14: Duration 135.1214ms
main_test.go:14: Duration 134.1763ms
main_test.go:14: Duration 135.1217ms
main_test.go:14: Duration 135.1298ms
main_test.go:14: Duration 135.1217ms
main_test.go:14: Duration 135.1218ms
main_test.go:14: Duration 135.1213ms
main_test.go:14: Duration 135.1298ms
main_test.go:14: Duration 135.1216ms
... [output truncated]
PASS
package main
import (
"math/rand"
"testing"
"time"
)
func BenchmarkMarshalSample(b *testing.B) {
start := time.Now()
for i := 0; i < 10_000_000; i++ {
rand.Int63()
}
b.Log("Duration", time.Now().Sub(start))
}
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/33c4ab46-18ae-46c2-99e9-e467d6f3e184%40googlegroups.com.