-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbench_test.go
More file actions
89 lines (78 loc) · 1.74 KB
/
bench_test.go
File metadata and controls
89 lines (78 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package rlc
import (
"testing"
"time"
)
// go test -bench=. -benchmem
func BenchmarkRLCShortAskStep(b *testing.B) {
offset := NewStepOffset(96, 1)
eq := NewRLC(96, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Ask()
}
}
func BenchmarkRLCShortAskRandom(b *testing.B) {
offset := NewRandomOffset(96)
eq := NewRLC(96, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Ask()
}
}
func BenchmarkRLCShortNotify(b *testing.B) {
offset := NewStepOffset(96, 1)
eq := NewRLC(96, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Notify(false, 1)
}
}
func BenchmarkRLCLongAskStep(b *testing.B) {
offset := NewStepOffset(1048576, 1)
eq := NewRLC(1048576, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Ask()
}
}
func BenchmarkRLCLongAskRandom(b *testing.B) {
offset := NewRandomOffset(1048576)
eq := NewRLC(1048576, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Ask()
}
}
func BenchmarkRLCLongNotify(b *testing.B) {
offset := NewStepOffset(1048576, 1)
eq := NewRLC(1048576, 16, offset)
b.ResetTimer()
for i := 0; i < b.N; i++ {
eq.Notify(false, 1)
}
}
func BenchmarkSliderShortWindow(b *testing.B) {
slider := NewSlider(time.Millisecond*100, time.Millisecond*10, 32)
for i := 0; i < b.N; i++ {
slider.Ask()
}
}
func BenchmarkSliderLongerWindow(b *testing.B) {
slider := NewSlider(time.Second, time.Millisecond*100, 32)
for i := 0; i < b.N; i++ {
slider.Ask()
}
}
func BenchmarkTokenBucketDenseRefill(b *testing.B) {
tokenBucket := NewTokenBucket(32, time.Millisecond*10)
for i := 0; i < b.N; i++ {
tokenBucket.Ask()
}
}
func BenchmarkTokenBucketSparseRefill(b *testing.B) {
tokenBucket := NewTokenBucket(32, time.Second)
for i := 0; i < b.N; i++ {
tokenBucket.Ask()
}
}