mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

Benchmarks: ``` import ( "testing" "time" ) func BenchmarkTimeAfter(b *testing.B) { b.ReportAllocs() for n := 0; n < b.N; n++ { select { case <- time.After(1 * time.Millisecond): } } } func BenchmarkTimerReset(b *testing.B) { b.ReportAllocs() t := time.NewTimer(1 * time.Millisecond) for n := 0; n < b.N; n++ { select { case <- t.C: } t.Reset(1 * time.Millisecond) } } ``` Running reveals that each loop results in 3 allocs: ``` BenchmarkTimeAfter-4 2000 1112134 ns/op 192 B/op 3 allocs/op BenchmarkTimerReset-4 2000 1109774 ns/op 0 B/op 0 allocs/op ```