diff options
| author | eunhhu <[email protected]> | 2026-09-30 08:54:29 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-30 08:54:29 +0100 |
| commit | 9840d27a9e437de32256024a2fd6a3219a239815 (patch) | |
| tree | eba57012bcdaac8e019d1421370a570a3e9f70d9 /research/experiments/023-node-reuse/2026-09-30-ram-w4-linux-aarch64.jsonl | |
| parent | 987d4d7aa08624e28d0ea18a1e66e359a0230c80 (diff) | |
| download | pure-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-ram-w4-linux-aarch64.jsonl')
| -rw-r--r-- | research/experiments/023-node-reuse/2026-09-30-ram-w4-linux-aarch64.jsonl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/research/experiments/023-node-reuse/2026-09-30-ram-w4-linux-aarch64.jsonl b/research/experiments/023-node-reuse/2026-09-30-ram-w4-linux-aarch64.jsonl new file mode 100644 index 0000000..82d7c58 --- /dev/null +++ b/research/experiments/023-node-reuse/2026-09-30-ram-w4-linux-aarch64.jsonl @@ -0,0 +1,9 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 4, "rows": 1975536, "generate_s": 1.99, "pure_load_s": 2.64, "sqlite_load_s": 5.95, "sqlite_page_size": 4096, "pure_resident_mib": 104.1, "sqlite_file_mib": 52.8} +{"step": "same transactions", "transactions": 20000, "pure": {"new_order": 8875, "payment": 8786, "order_status": 777, "delivery": 777, "stock_level": 785}, "sqlite": {"new_order": 8875, "payment": 8786, "order_status": 777, "delivery": 777, "stock_level": 785}, "undone_new_orders": [93, 93], "failed": [0, 0], "differing": {}, "grouped_sqlite_differing": {}, "consistency_failures": []} +{"step": "run", "system": "pure", "warehouses": 4, "terminals": 16, "transactions_per_second": 33057, "new_orders_per_minute": 883329, "undone_new_orders": 2956, "errors": 0, "new_order": {"done": 297399, "failed": 0, "p50_us": 496, "p99_us": 1408}, "payment": {"done": 283706, "failed": 0, "p50_us": 448, "p99_us": 1344}, "order_status": {"done": 26855, "failed": 0, "p50_us": 84, "p99_us": 544}, "delivery": {"done": 26604, "failed": 0, "p50_us": 464, "p99_us": 1472}, "stock_level": {"done": 26583, "failed": 0, "p50_us": 144, "p99_us": 640}, "server_threads": "3", "cpu_us_per_transaction": 46.6, "core_shares": {"pure-owner": 0.82, "pure-checkpoint": 0.01}, "resident_mib": 459.0, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "pure", "warehouses": 4, "terminals": 64, "transactions_per_second": 35838, "new_orders_per_minute": 958218, "undone_new_orders": 3172, "errors": 0, "new_order": {"done": 322578, "failed": 0, "p50_us": 1856, "p99_us": 3584}, "payment": {"done": 308407, "failed": 0, "p50_us": 1792, "p99_us": 3584}, "order_status": {"done": 28642, "failed": 0, "p50_us": 272, "p99_us": 1216}, "delivery": {"done": 28624, "failed": 0, "p50_us": 1792, "p99_us": 3456}, "stock_level": {"done": 28509, "failed": 0, "p50_us": 304, "p99_us": 1344}, "server_threads": "3", "cpu_us_per_transaction": 50.2, "core_shares": {"pure-owner": 0.92, "pure-checkpoint": 0.01}, "resident_mib": 817.1, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "sqlite 3.46.1", "synchronous": "full", "pragmas": "PRAGMA mmap_size=1073741824; PRAGMA cache_size=-65536; PRAGMA temp_store=MEMORY; PRAGMA wal_autocheckpoint=10000;", "warehouses": 4, "terminals": 1, "transactions_per_second": 10168, "batches": 0, "batched": 0, "new_orders_per_minute": 272034, "undone_new_orders": 943, "new_order": {"done": 91652, "failed": 0, "p50_us": 152, "p99_us": 240}, "payment": {"done": 87378, "failed": 0, "p50_us": 25, "p99_us": 42}, "order_status": {"done": 8107, "failed": 0, "p50_us": 16, "p99_us": 28}, "delivery": {"done": 8122, "failed": 0, "p50_us": 56, "p99_us": 416}, "stock_level": {"done": 8167, "failed": 0, "p50_us": 272, "p99_us": 384}, "cpu_seconds": 19.95, "peak_resident_kib": 117472, "written_bytes": 0, "cpu_us_per_transaction": 98.1, "peak_resident_mib": 114.7, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "sqlite 3.46.1", "synchronous": "full", "pragmas": "PRAGMA mmap_size=1073741824; PRAGMA cache_size=-65536; PRAGMA temp_store=MEMORY; PRAGMA wal_autocheckpoint=10000;", "warehouses": 4, "terminals": 4, "transactions_per_second": 9732, "batches": 0, "batched": 0, "new_orders_per_minute": 259837, "undone_new_orders": 811, "new_order": {"done": 87684, "failed": 0, "p50_us": 160, "p99_us": 288}, "payment": {"done": 84068, "failed": 0, "p50_us": 25, "p99_us": 52}, "order_status": {"done": 7871, "failed": 0, "p50_us": 19, "p99_us": 38}, "delivery": {"done": 7773, "failed": 0, "p50_us": 60, "p99_us": 128}, "stock_level": {"done": 7830, "failed": 0, "p50_us": 272, "p99_us": 608}, "cpu_seconds": 20.416, "peak_resident_kib": 60048, "written_bytes": 0, "cpu_us_per_transaction": 104.6, "peak_resident_mib": 58.6, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "sqlite 3.46.1, grouped", "synchronous": "full", "pragmas": "PRAGMA mmap_size=1073741824; PRAGMA cache_size=-65536; PRAGMA temp_store=MEMORY; PRAGMA wal_autocheckpoint=10000;", "warehouses": 4, "terminals": 16, "transactions_per_second": 8750, "batches": 14079, "batched": 161044, "new_orders_per_minute": 234615, "undone_new_orders": 798, "new_order": {"done": 79047, "failed": 0, "p50_us": 1792, "p99_us": 8192}, "payment": {"done": 74842, "failed": 0, "p50_us": 1600, "p99_us": 8192}, "order_status": {"done": 7025, "failed": 0, "p50_us": 136, "p99_us": 928}, "delivery": {"done": 7155, "failed": 0, "p50_us": 1664, "p99_us": 8192}, "stock_level": {"done": 7024, "failed": 0, "p50_us": 736, "p99_us": 1920}, "cpu_seconds": 26.066, "peak_resident_kib": 116320, "written_bytes": 0, "cpu_us_per_transaction": 148.9, "peak_resident_mib": 113.6, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "sqlite 3.46.1, grouped", "synchronous": "full", "pragmas": "PRAGMA mmap_size=1073741824; PRAGMA cache_size=-65536; PRAGMA temp_store=MEMORY; PRAGMA wal_autocheckpoint=10000;", "warehouses": 4, "terminals": 64, "transactions_per_second": 8805, "batches": 3234, "batched": 162696, "new_orders_per_minute": 236411, "undone_new_orders": 770, "new_order": {"done": 79777, "failed": 0, "p50_us": 6656, "p99_us": 18432}, "payment": {"done": 75881, "failed": 0, "p50_us": 6400, "p99_us": 17408}, "order_status": {"done": 6928, "failed": 0, "p50_us": 232, "p99_us": 2048}, "delivery": {"done": 7038, "failed": 0, "p50_us": 6656, "p99_us": 17408}, "stock_level": {"done": 6924, "failed": 0, "p50_us": 1088, "p99_us": 3584}, "cpu_seconds": 26.154, "peak_resident_kib": 189424, "written_bytes": 0, "cpu_us_per_transaction": 148.1, "peak_resident_mib": 185.0, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 817.1, "pure_state_mib": 420.9, "pure_store_mib": 434.7, "sqlite_files_mib": 123.1, "grouped_sqlite_files_mib": 117.2, "pure_counts": {"bursts": 113964, "burst_events": 1279680, "checkpoints": 29}} |
