...

Source file src/github.com/beorn7/perks/quantile/bench_test.go

Documentation: github.com/beorn7/perks/quantile

     1  package quantile
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func BenchmarkInsertTargeted(b *testing.B) {
     8  	b.ReportAllocs()
     9  
    10  	s := NewTargeted(Targets)
    11  	b.ResetTimer()
    12  	for i := float64(0); i < float64(b.N); i++ {
    13  		s.Insert(i)
    14  	}
    15  }
    16  
    17  func BenchmarkInsertTargetedSmallEpsilon(b *testing.B) {
    18  	s := NewTargeted(TargetsSmallEpsilon)
    19  	b.ResetTimer()
    20  	for i := float64(0); i < float64(b.N); i++ {
    21  		s.Insert(i)
    22  	}
    23  }
    24  
    25  func BenchmarkInsertBiased(b *testing.B) {
    26  	s := NewLowBiased(0.01)
    27  	b.ResetTimer()
    28  	for i := float64(0); i < float64(b.N); i++ {
    29  		s.Insert(i)
    30  	}
    31  }
    32  
    33  func BenchmarkInsertBiasedSmallEpsilon(b *testing.B) {
    34  	s := NewLowBiased(0.0001)
    35  	b.ResetTimer()
    36  	for i := float64(0); i < float64(b.N); i++ {
    37  		s.Insert(i)
    38  	}
    39  }
    40  
    41  func BenchmarkQuery(b *testing.B) {
    42  	s := NewTargeted(Targets)
    43  	for i := float64(0); i < 1e6; i++ {
    44  		s.Insert(i)
    45  	}
    46  	b.ResetTimer()
    47  	n := float64(b.N)
    48  	for i := float64(0); i < n; i++ {
    49  		s.Query(i / n)
    50  	}
    51  }
    52  
    53  func BenchmarkQuerySmallEpsilon(b *testing.B) {
    54  	s := NewTargeted(TargetsSmallEpsilon)
    55  	for i := float64(0); i < 1e6; i++ {
    56  		s.Insert(i)
    57  	}
    58  	b.ResetTimer()
    59  	n := float64(b.N)
    60  	for i := float64(0); i < n; i++ {
    61  		s.Query(i / n)
    62  	}
    63  }
    64  

View as plain text