From d878146c70f5b21d3f6d161d8586828099597ac4 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 15 Jul 2024 16:07:42 +0100 Subject: [PATCH] TSDB: shrink memSeries by moving bools together In each case the following member requires 8-byte alignment, so moving one beside the other shrinks memSeries from 176 to 168 bytes, when compiled with `-tags stringlabels`. Signed-off-by: Bryan Boreham --- tsdb/head.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tsdb/head.go b/tsdb/head.go index 30ad8139a..b7bfaa0fd 100644 --- a/tsdb/head.go +++ b/tsdb/head.go @@ -2099,6 +2099,7 @@ type memSeries struct { nextAt int64 // Timestamp at which to cut the next chunk. histogramChunkHasComputedEndTime bool // True if nextAt has been predicted for the current histograms chunk; false otherwise. + pendingCommit bool // Whether there are samples waiting to be committed to this series. // We keep the last value here (in addition to appending it to the chunk) so we can check for duplicates. lastValue float64 @@ -2114,8 +2115,6 @@ type memSeries struct { // txs is nil if isolation is disabled. txs *txRing - - pendingCommit bool // Whether there are samples waiting to be committed to this series. } // memSeriesOOOFields contains the fields required by memSeries