File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -56,3 +56,45 @@ func TestOrderedBufferConcurrent(t *testing.T) {
5656 }
5757 }
5858}
59+
60+ func BenchmarkOrderedBufferOrderedDelivery (b * testing.B ) {
61+ ch := make (chan int , b .N )
62+ buf := NewOrderedBuffer (ch )
63+ go func () {
64+ for range ch {
65+ }
66+ }()
67+ for i := 0 ; b .Loop (); i ++ {
68+ buf .Store (i , i )
69+ }
70+ close (ch )
71+ }
72+
73+ func BenchmarkOrderedBufferOutOfOrder (b * testing.B ) {
74+ ch := make (chan int , b .N )
75+ buf := NewOrderedBuffer (ch )
76+ go func () {
77+ for range ch {
78+ }
79+ }()
80+ for i := b .N - 1 ; i >= 0 ; i -- {
81+ buf .Store (i , i )
82+ }
83+ close (ch )
84+ }
85+
86+ func BenchmarkOrderedBufferConcurrent (b * testing.B ) {
87+ ch := make (chan int , b .N )
88+ buf := NewOrderedBuffer (ch )
89+ go func () {
90+ for range ch {
91+ }
92+ }()
93+ b .RunParallel (func (pb * testing.PB ) {
94+ i := 0
95+ for pb .Next () {
96+ buf .Store (i , i )
97+ i ++
98+ }
99+ })
100+ }
You can’t perform that action at this time.
0 commit comments