summaryrefslogtreecommitdiff
path: root/src/backend/utils/postprocess_dtrace.sed
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2025-11-04 19:30:17 +0100
committerTomas Vondra <tomas.vondra@postgresql.org>2025-11-04 20:06:01 +0100
commit1213cb475391640508d2495b2b560329897d152c (patch)
tree701ac891cd93a8db7eb937f8de4d1ac52f2ddba3 /src/backend/utils/postprocess_dtrace.sed
parent6d2ff1de4d0b66eb0288e21021c3741b9df1df0d (diff)
Trim TIDs during parallel GIN builds more eagerly
The parallel GIN builds perform "freezing" of TID lists when merging chunks built earlier. This means determining what part of the list can no longer change, depending on the last received chunk. The frozen part can be evicted from memory and written out. The code attempted to freeze items right before merging the old and new TID list, after already attempting to trim the current buffer. That means part of the data may get frozen based on the new TID list, but will be trimmed later (on next loop). This increases memory usage. This inverts the order, so that we freeze data first (before trimming). The benefits are likely relatively small, but it's also virtually free with no other downsides. Discussion: https://postgr.es/m/CAHLJuCWDwn-PE2BMZE4Kux7x5wWt_6RoWtA0mUQffEDLeZ6sfA@mail.gmail.com
Diffstat (limited to 'src/backend/utils/postprocess_dtrace.sed')
0 files changed, 0 insertions, 0 deletions