mirror of
https://github.com/Luzifer/promcertcheck.git
synced 2024-11-14 10:42:42 +00:00
63 lines
1.1 KiB
Go
63 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|