package quantile import ( "testing" ) func BenchmarkInsertTargeted(b *testing.B) { b.ReportAllocs() s := NewTargeted(Targets) b.ResetTimer() for i := float64(0); i < float64(b.N); i++ { s.Insert(i) } } func BenchmarkInsertTargetedSmallEpsilon(b *testing.B) { s := NewTargeted(TargetsSmallEpsilon) b.ResetTimer() for i := float64(0); i < float64(b.N); i++ { s.Insert(i) } } func BenchmarkInsertBiased(b *testing.B) { s := NewLowBiased(0.01) b.ResetTimer() for i := float64(0); i < float64(b.N); i++ { s.Insert(i) } } func BenchmarkInsertBiasedSmallEpsilon(b *testing.B) { s := NewLowBiased(0.0001) b.ResetTimer() for i := float64(0); i < float64(b.N); i++ { s.Insert(i) } } func BenchmarkQuery(b *testing.B) { s := NewTargeted(Targets) for i := float64(0); i < 1e6; i++ { s.Insert(i) } b.ResetTimer() n := float64(b.N) for i := float64(0); i < n; i++ { s.Query(i / n) } } func BenchmarkQuerySmallEpsilon(b *testing.B) { s := NewTargeted(TargetsSmallEpsilon) for i := float64(0); i < 1e6; i++ { s.Insert(i) } b.ResetTimer() n := float64(b.N) for i := float64(0); i < n; i++ { s.Query(i / n) } }