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
```