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-jemalloc-1-linux-aarch64.jsonl | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 research/experiments/023-node-reuse/2026-09-30-allocator-jemalloc-1-linux-aarch64.jsonl (limited to 'research/experiments/023-node-reuse/2026-09-30-allocator-jemalloc-1-linux-aarch64.jsonl') diff --git a/research/experiments/023-node-reuse/2026-09-30-allocator-jemalloc-1-linux-aarch64.jsonl b/research/experiments/023-node-reuse/2026-09-30-allocator-jemalloc-1-linux-aarch64.jsonl new file mode 100644 index 0000000..75074f5 --- /dev/null +++ b/research/experiments/023-node-reuse/2026-09-30-allocator-jemalloc-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.62, "sqlite_page_size": 4096, "pure_resident_mib": 51.4, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 42323, "new_orders_per_minute": 1132316, "undone_new_orders": 3622, "errors": 0, "new_order": {"done": 381061, "failed": 0, "p50_us": 1408, "p99_us": 4608}, "payment": {"done": 363847, "failed": 0, "p50_us": 1408, "p99_us": 4608}, "order_status": {"done": 33946, "failed": 0, "p50_us": 272, "p99_us": 1984}, "delivery": {"done": 33913, "failed": 0, "p50_us": 1408, "p99_us": 4352}, "stock_level": {"done": 33695, "failed": 0, "p50_us": 304, "p99_us": 2176}, "server_threads": "3", "cpu_us_per_transaction": 43.4, "core_shares": {"pure-owner": 0.85, "pure-checkpoint": 0.01}, "resident_mib": 506.0, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 506.0, "pure_state_mib": 226.1, "pure_store_mib": 230.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 27007, "burst_events": 775283, "checkpoints": 38}} -- cgit v1.2.3