prometheus/tsdb/index
Bryan Boreham 2c1be4df7b
tsdb: more efficient sorting of postings read from WAL at startup (#10500)
* tsdb: avoid slice-to-interface allocation in EnsureOrder

This is pulling the `seriesRefSlice` out of the loop, so the compiler
doesn't allocate a new one on the heap every time.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* tsdb: use pointer type in Pool for EnsureOrder

As noted by staticcheck, Pool prefers the objects in the pool to have
pointer type. This is a little more fiddly to code, but avoids
allocation of a wrapper object every time a slice is put into the pool.

Removed a comment that said fixing this has a performance penalty: not
borne out by benchmarks.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-03-30 15:10:19 +05:30
..
index.go Check postings bytes length when decoding (#9766) 2021-11-24 15:26:37 +05:30
index_test.go refactor: use `T.TempDir()` and `B.TempDir` to create temporary directory 2022-01-22 18:57:30 +08:00
postings.go tsdb: more efficient sorting of postings read from WAL at startup (#10500) 2022-03-30 15:10:19 +05:30
postings_test.go Tidy postingsWithIndexHeap (#10123) 2022-01-06 16:03:44 +05:30
postingsstats.go Format Go source files using 'gofumpt -w -s -extra' 2021-11-02 19:52:34 +01:00
postingsstats_test.go Format Go source files using 'gofumpt -w -s -extra' 2021-11-02 19:52:34 +01:00