12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package timer_test
- import (
- "fmt"
- "testing"
- "time"
- )
- func TestTimer(t *testing.T) {
- ch := make(chan interface{}, 1)
- ch <- time.Now()
- for {
- select {
- case <-ch:
- fmt.Println(time.Now())
- time.AfterFunc(1*time.Second, func() {
- ch <- time.Now()
- })
- }
- }
- }
- func BenchmarkReset(b *testing.B) {
- tc := time.NewTimer(1 * time.Nanosecond)
- for i := 0; i < 1000000; i++ {
- select {
- case <-tc.C:
- tc.Reset(1 * time.Nanosecond)
- }
- }
- /*
- goos: darwin
- goarch: amd64
- pkg: trial/timer
- cpu: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
- BenchmarkReset-8 1 1082548694 ns/op
- */
- }
- func BenchmarkNewTimer(b *testing.B) {
- tc := time.NewTimer(1 * time.Nanosecond)
- for i := 0; i < 1000000; i++ {
- select {
- case <-tc.C:
- tc = time.NewTimer(1 * time.Nanosecond)
- }
- }
- /*
- goos: darwin
- goarch: amd64
- pkg: trial/timer
- cpu: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
- BenchmarkNewTimer-8 1 1570331115 ns/op
- */
- }
- func BenchmarkStop(b *testing.B) {
- tc := time.NewTimer(1 * time.Nanosecond)
- for i := 0; i < 1000000; i++ {
- tc.Stop()
- tc.Reset(1 * time.Nanosecond)
- }
- tc.Stop()
- /*
- goos: darwin
- goarch: amd64
- pkg: trial/timer
- cpu: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
- BenchmarkStop-8 1000000000 0.1683 ns/op
- */
- }
- func BenchmarkReset1(b *testing.B) {
- tc := time.NewTimer(1 * time.Nanosecond)
- for i := 0; i < 1000000; i++ {
- tc = time.NewTimer(1 * time.Nanosecond)
- }
- /*
- goos: darwin
- goarch: amd64
- pkg: trial/timer
- cpu: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
- BenchmarkReset1-8 1000000000 0.5614 ns/op
- */
- tc.Stop()
- }
|