aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/022-tpcc-grouped
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-30 08:54:29 +0100
committereunhhu <[email protected]>2026-09-30 08:54:29 +0100
commit9840d27a9e437de32256024a2fd6a3219a239815 (patch)
treeeba57012bcdaac8e019d1421370a570a3e9f70d9 /research/experiments/022-tpcc-grouped
parent987d4d7aa08624e28d0ea18a1e66e359a0230c80 (diff)
downloadpure-9840d27a9e437de32256024a2fd6a3219a239815.tar.gz
pure-9840d27a9e437de32256024a2fd6a3219a239815.zip
Say what snapshots cost the owner, and what reusing their nodes gave (107)
Most of it was the allocator: leaves past glibc's thread cache, freed by whichever thread let the last snapshot go. jemalloc was 11-14% faster at more memory; reusing the nodes in Pure gave a median +9.4% over six pairs, 4-8% less CPU a transaction in all six, and 1.97x the state bytes resident where it was 2.18x. TPC-C in RAM is now 4.0x a tuned SQLite at W=1 and 3.5x at W=4; finding items is the owner's largest part now.
Diffstat (limited to 'research/experiments/022-tpcc-grouped')
-rw-r--r--research/experiments/022-tpcc-grouped/tables.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/research/experiments/022-tpcc-grouped/tables.py b/research/experiments/022-tpcc-grouped/tables.py
index 2c018b0..fcfd468 100644
--- a/research/experiments/022-tpcc-grouped/tables.py
+++ b/research/experiments/022-tpcc-grouped/tables.py
@@ -69,5 +69,6 @@ def table(name, device):
print()
-for name in sys.argv[1:] or ['ram-w1', 'ram-w4', 'sd-w1-*', 'sd-w4-*']:
- table(name, name.startswith('sd'))
+if __name__ == '__main__':
+ for name in sys.argv[1:] or ['ram-w1', 'ram-w4', 'sd-w1-*', 'sd-w4-*']:
+ table(name, name.startswith('sd'))