aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/010-one-sync-commit
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-30 08:35:40 +0100
committereunhhu <[email protected]>2026-09-30 08:35:40 +0100
commit18aa391cbfdaca1bd259f69cc8d7d78984cc9047 (patch)
treef63e1e44aa582d0606bb412f41b7d54c803e655a /research/experiments/010-one-sync-commit
parentd98f80dde3052acae503c589e15b5243afb864b7 (diff)
downloadpure-18aa391cbfdaca1bd259f69cc8d7d78984cc9047.tar.gz
pure-18aa391cbfdaca1bd259f69cc8d7d78984cc9047.zip
Let a list make its next nodes of those no snapshot reads any more
Each node a list copies once a snapshot shares it went, once the last snapshot that could read it was released, back to the system: a leaf of TPC-C's (1.3 KB) past glibc's thread cache, often freed by a connection thread into the owner's arena, while the owner allocated the next. That was 70% of what snapshots cost the owner. Now what no snapshot reads comes back to the app under the register's lock, and each snapshot the owner makes hands it to the lists of its size as spares, as many as each made lately; retired entries carry what the pass and the reuse ask of a node, so neither reads it again. TPC-C in RAM, W=1, 64 terminals: 10-14% more a second at 7% less CPU a transaction, resident 1.97x the state bytes where it was 2.18x (docs/research/107).
Diffstat (limited to 'research/experiments/010-one-sync-commit')
0 files changed, 0 insertions, 0 deletions