aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl
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/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl
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/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl')
-rw-r--r--research/experiments/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl3
1 files changed, 3 insertions, 0 deletions
diff --git a/research/experiments/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl b/research/experiments/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl
new file mode 100644
index 0000000..6fe89a3
--- /dev/null
+++ b/research/experiments/023-node-reuse/2026-09-30-after-6-linux-aarch64.jsonl
@@ -0,0 +1,3 @@
+{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.72, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 38.2, "sqlite_file_mib": 13.8}
+{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 42292, "new_orders_per_minute": 1131652, "undone_new_orders": 3611, "errors": 0, "new_order": {"done": 380829, "failed": 0, "p50_us": 1472, "p99_us": 3968}, "payment": {"done": 363536, "failed": 0, "p50_us": 1472, "p99_us": 3968}, "order_status": {"done": 33950, "failed": 0, "p50_us": 256, "p99_us": 1536}, "delivery": {"done": 33869, "failed": 0, "p50_us": 1472, "p99_us": 3968}, "stock_level": {"done": 33663, "failed": 0, "p50_us": 304, "p99_us": 1664}, "server_threads": "3", "cpu_us_per_transaction": 44.7, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 445.2, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []}
+{"step": "end", "pure_resident_mib": 445.2, "pure_state_mib": 226.0, "pure_store_mib": 230.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 26227, "burst_events": 774708, "checkpoints": 38}}