@@ -13,47 +13,47 @@ import (
1313 promchunk "github.com/cortexproject/cortex/pkg/chunk/encoding"
1414)
1515
16- // func BenchmarkNewChunkMergeIterator_CreateAndIterate(b *testing.B) {
17- // scenarios := []struct {
18- // numChunks int
19- // numSamplesPerChunk int
20- // duplicationFactor int
21- // enc promchunk.Encoding
22- // }{
23- // {numChunks: 1000, numSamplesPerChunk: 100, duplicationFactor: 1, enc: promchunk.PrometheusXorChunk},
24- // {numChunks: 1000, numSamplesPerChunk: 100, duplicationFactor: 3, enc: promchunk.PrometheusXorChunk},
25- // {numChunks: 100, numSamplesPerChunk: 100, duplicationFactor: 1, enc: promchunk.PrometheusXorChunk},
26- // {numChunks: 100, numSamplesPerChunk: 100, duplicationFactor: 3, enc: promchunk.PrometheusXorChunk},
27- // {numChunks: 1, numSamplesPerChunk: 100, duplicationFactor: 1, enc: promchunk.PrometheusXorChunk},
28- // {numChunks: 1, numSamplesPerChunk: 100, duplicationFactor: 3, enc: promchunk.PrometheusXorChunk},
29- // }
30- //
31- // for _, scenario := range scenarios {
32- // name := fmt.Sprintf("chunks: %d samples per chunk: %d duplication factor: %d encoding: %s",
33- // scenario.numChunks,
34- // scenario.numSamplesPerChunk,
35- // scenario.duplicationFactor,
36- // scenario.enc.String())
37- //
38- // chunks := createChunks(b, scenario.numChunks, scenario.numSamplesPerChunk, scenario.duplicationFactor, scenario.enc)
39- //
40- // b.Run(name, func(b *testing.B) {
41- // b.ReportAllocs()
42- //
43- // for n := 0; n < b.N; n++ {
44- // it := NewChunkMergeIterator(chunks, 0, 0)
45- // for it.Next() != chunkenc.ValNone {
46- // it.At()
47- // }
48- //
49- // // Ensure no error occurred.
50- // if it.Err() != nil {
51- // b.Fatal(it.Err().Error())
52- // }
53- // }
54- // })
55- // }
56- // }
16+ func BenchmarkNewChunkMergeIterator_CreateAndIterate (b * testing.B ) {
17+ scenarios := []struct {
18+ numChunks int
19+ numSamplesPerChunk int
20+ duplicationFactor int
21+ enc promchunk.Encoding
22+ }{
23+ {numChunks : 1000 , numSamplesPerChunk : 100 , duplicationFactor : 1 , enc : promchunk .PrometheusXorChunk },
24+ {numChunks : 1000 , numSamplesPerChunk : 100 , duplicationFactor : 3 , enc : promchunk .PrometheusXorChunk },
25+ {numChunks : 100 , numSamplesPerChunk : 100 , duplicationFactor : 1 , enc : promchunk .PrometheusXorChunk },
26+ {numChunks : 100 , numSamplesPerChunk : 100 , duplicationFactor : 3 , enc : promchunk .PrometheusXorChunk },
27+ {numChunks : 1 , numSamplesPerChunk : 100 , duplicationFactor : 1 , enc : promchunk .PrometheusXorChunk },
28+ {numChunks : 1 , numSamplesPerChunk : 100 , duplicationFactor : 3 , enc : promchunk .PrometheusXorChunk },
29+ }
30+
31+ for _ , scenario := range scenarios {
32+ name := fmt .Sprintf ("chunks: %d samples per chunk: %d duplication factor: %d encoding: %s" ,
33+ scenario .numChunks ,
34+ scenario .numSamplesPerChunk ,
35+ scenario .duplicationFactor ,
36+ scenario .enc .String ())
37+
38+ chunks := createChunks (b , step , scenario .numChunks , scenario .numSamplesPerChunk , scenario .duplicationFactor , scenario .enc )
39+
40+ b .Run (name , func (b * testing.B ) {
41+ b .ReportAllocs ()
42+
43+ for n := 0 ; n < b .N ; n ++ {
44+ it := NewChunkMergeIterator (chunks , 0 , 0 )
45+ for it .Next () != chunkenc .ValNone {
46+ it .At ()
47+ }
48+
49+ // Ensure no error occurred.
50+ if it .Err () != nil {
51+ b .Fatal (it .Err ().Error ())
52+ }
53+ }
54+ })
55+ }
56+ }
5757
5858func BenchmarkNewChunkMergeIterator_Seek (b * testing.B ) {
5959 scrapeInterval := 30 * time .Second
0 commit comments