summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/beorn7/perks/quantile/bench_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/beorn7/perks/quantile/bench_test.go')
-rw-r--r--vendor/github.com/beorn7/perks/quantile/bench_test.go63
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/github.com/beorn7/perks/quantile/bench_test.go b/vendor/github.com/beorn7/perks/quantile/bench_test.go
new file mode 100644
index 000000000..0bd0e4e77
--- /dev/null
+++ b/vendor/github.com/beorn7/perks/quantile/bench_test.go
@@ -0,0 +1,63 @@
+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)
+ }
+}