From 9840d27a9e437de32256024a2fd6a3219a239815 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Wed, 30 Sep 2026 08:54:29 +0100 Subject: 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. --- .../023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 research/experiments/023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl (limited to 'research/experiments/023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl') diff --git a/research/experiments/023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl b/research/experiments/023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl new file mode 100644 index 0000000..a156a94 --- /dev/null +++ b/research/experiments/023-node-reuse/2026-09-30-allocator-glibc-1-linux-aarch64.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.71, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 38.1, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 37280, "new_orders_per_minute": 996985, "undone_new_orders": 3189, "errors": 0, "new_order": {"done": 335518, "failed": 0, "p50_us": 1664, "p99_us": 4352}, "payment": {"done": 320602, "failed": 0, "p50_us": 1664, "p99_us": 4352}, "order_status": {"done": 29884, "failed": 0, "p50_us": 272, "p99_us": 2176}, "delivery": {"done": 29906, "failed": 0, "p50_us": 1664, "p99_us": 4352}, "stock_level": {"done": 29689, "failed": 0, "p50_us": 320, "p99_us": 2560}, "server_threads": "3", "cpu_us_per_transaction": 48.2, "core_shares": {"pure-owner": 0.88, "pure-checkpoint": 0.01}, "resident_mib": 438.6, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 438.6, "pure_state_mib": 201.8, "pure_store_mib": 206.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 23125, "burst_events": 682923, "checkpoints": 32}} -- cgit v1.2.3