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>
This commit is contained in:
Bryan Boreham 2021-08-18 10:27:21 +01:00 committed by GitHub
parent 328a74ca36
commit 9dfdc3eb36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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++
}
}