Move TupleTableSlots boolean member into one flag variable.
Andres Freund <andres@anarazel.de>
Move TupleTableSlots boolean member into one flag variable. There's several reasons for this change: 1) It reduces the total size of TupleTableSlot / reduces alignment padding, making the commonly accessed members fit into a single cacheline (but we currently do not force proper alignment, so that's not yet guaranteed to be helpful) 2) Combining the booleans into a flag allows to combine read/writes from memory. 3) With the upcoming slot abstraction changes, it allows to have core and extended flags, in a memory efficient way. Author: Ashutosh Bapat and Andres Freund Discussion: https://postgr.es/m/20180220224318.gw4oe5jadhpmcdnm@alap3.anarazel.de
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/common/heaptuple.c | modified | +5 −2 |
| src/backend/executor/execTuples.c | modified | +58 −38 |
| src/backend/executor/nodeAgg.c | modified | +1 −1 |
| src/backend/executor/nodeModifyTable.c | modified | +1 −1 |
| src/backend/jit/llvm/llvmjit_deform.c | modified | +6 −3 |
| src/backend/jit/llvm/llvmjit_expr.c | modified | +2 −2 |
| src/include/executor/executor.h | modified | +1 −1 |
| src/include/executor/tuptable.h | modified | +42 −24 |
Discussion
- TupleTableSlot abstraction 50 messages · 2018-02-20 → 2019-02-27