Browse Source

Speed up BenchmarkPostings_Stats (#9213)

The previous code re-used series IDs 1-1000 many times over, so a lot
of time was spent ensuring the lists of series were in ascending order.
The intended use of `MemPostings.Add()` is that all series IDs are
unique, and changing the benchmark to do this lets it finish ten times
faster.

(It doesn't affect the benchmark result, just the setup code)

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
pull/9222/head
Bryan Boreham 3 years ago committed by GitHub
parent
commit
9dfdc3eb36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      tsdb/index/postings_test.go

5
tsdb/index/postings_test.go

@ -818,10 +818,13 @@ func TestWithoutPostings(t *testing.T) {
func BenchmarkPostings_Stats(b *testing.B) {
p := NewMemPostings()
var seriesID uint64
createPostingsLabelValues := func(name, valuePrefix string, count int) {
for n := 1; n < count; n++ {
value := fmt.Sprintf("%s-%d", valuePrefix, n)
p.Add(uint64(n), labels.FromStrings(name, value))
p.Add(seriesID, labels.FromStrings(name, value))
seriesID++
}
}

Loading…
Cancel
Save