Selaa lähdekoodia

Benchmarks for everyone!

Richard Crowley 12 vuotta sitten
vanhempi
commit
ddac18df1e
9 muutettua tiedostoa jossa 68 lisäystä ja 1 poistoa
  1. 8 0
      counter_test.go
  2. 12 0
      debug_test.go
  3. 1 0
      ewma_test.go
  4. 8 0
      gauge_test.go
  5. 2 1
      histogram_test.go
  6. 8 0
      meter_test.go
  7. 9 0
      registry_test.go
  8. 12 0
      runtime_test.go
  9. 8 0
      timer_test.go

+ 8 - 0
counter_test.go

@@ -2,6 +2,14 @@ package metrics
 
 import "testing"
 
+func BenchmarkCounter(b *testing.B) {
+	c := NewCounter()
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		c.Inc(1)
+	}
+}
+
 func TestCounterClear(t *testing.T) {
 	c := NewCounter()
 	c.Inc(1)

+ 12 - 0
debug_test.go

@@ -0,0 +1,12 @@
+package metrics
+
+import "testing"
+
+func BenchmarkDebugGCStats(b *testing.B) {
+	r := NewRegistry()
+	RegisterDebugGCStats(r)
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		CaptureDebugGCStatsOnce(r)
+	}
+}

+ 1 - 0
ewma_test.go

@@ -4,6 +4,7 @@ import "testing"
 
 func BenchmarkEWMA(b *testing.B) {
 	a := NewEWMA1()
+	b.ResetTimer()
 	for i := 0; i < b.N; i++ {
 		a.Update(1)
 		a.Tick()

+ 8 - 0
gauge_test.go

@@ -2,6 +2,14 @@ package metrics
 
 import "testing"
 
+func BenchmarkGuage(b *testing.B) {
+	g := NewGauge()
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		g.Update(int64(i))
+	}
+}
+
 func TestGauge(t *testing.T) {
 	g := NewGauge()
 	g.Update(int64(47))

+ 2 - 1
histogram_test.go

@@ -4,8 +4,9 @@ import "testing"
 
 func BenchmarkHistogram(b *testing.B) {
 	h := NewHistogram(NewUniformSample(100))
+	b.ResetTimer()
 	for i := 0; i < b.N; i++ {
-		h.Update(1)
+		h.Update(int64(i))
 	}
 }
 

+ 8 - 0
meter_test.go

@@ -5,6 +5,14 @@ import (
 	"time"
 )
 
+func BenchmarkMeter(b *testing.B) {
+	m := NewMeter()
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		m.Mark(1)
+	}
+}
+
 func TestMeterDecay(t *testing.T) {
 	m := &StandardMeter{
 		make(chan int64),

+ 9 - 0
registry_test.go

@@ -2,6 +2,15 @@ package metrics
 
 import "testing"
 
+func BenchmarkRegistry(b *testing.B) {
+	r := NewRegistry()
+	r.Register("foo", NewCounter())
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		r.Each(func(string, interface{}) {})
+	}
+}
+
 func TestRegistry(t *testing.T) {
 	r := NewRegistry()
 	r.Register("foo", NewCounter())

+ 12 - 0
runtime_test.go

@@ -0,0 +1,12 @@
+package metrics
+
+import "testing"
+
+func BenchmarkRuntimeMemStats(b *testing.B) {
+	r := NewRegistry()
+	RegisterRuntimeMemStats(r)
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		CaptureRuntimeMemStatsOnce(r)
+	}
+}

+ 8 - 0
timer_test.go

@@ -6,6 +6,14 @@ import (
 	"time"
 )
 
+func BenchmarkTimer(b *testing.B) {
+	tm := NewTimer()
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		tm.Update(1)
+	}
+}
+
 func TestTimerExtremes(t *testing.T) {
 	tm := NewTimer()
 	tm.Update(math.MaxInt64)