postgresql/src/backend/utils/sort
David Rowley 6ed83d5fa5 Use bump memory context for tuplesorts
29f6a959c added a bump allocator type for efficient compact allocations.
Here we make use of this for non-bounded tuplesorts to store tuples.
This is very space efficient when storing narrow tuples due to bump.c
not having chunk headers.  This means we can fit more tuples in work_mem
before spilling to disk, or perform an in-memory sort touching fewer
cacheline.

Author: David Rowley
Reviewed-by: Nathan Bossart
Reviewed-by: Matthias van de Meent
Reviewed-by: Tomas Vondra
Reviewed-by: John Naylor
Discussion: https://postgr.es/m/CAApHDvqGSpCU95TmM=Bp=6xjL_nLys4zdZOpfNyWBk97Xrdj2w@mail.gmail.com
2024-04-08 00:32:26 +12:00
..
Makefile Split tuplesortvariants.c from tuplesort.c 2022-07-27 08:28:26 +03:00
logtape.c Clarify comment for LogicalTapeSetBlocks(). 2024-03-25 11:51:44 -07:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
qsort_interruptible.c Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
sharedtuplestore.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
sortsupport.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
tuplesort.c Use bump memory context for tuplesorts 2024-04-08 00:32:26 +12:00
tuplesortvariants.c Use bump memory context for tuplesorts 2024-04-08 00:32:26 +12:00
tuplestore.c Update copyright for 2024 2024-01-03 20:49:05 -05:00