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-w1-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-w1-linux-aarch64.jsonl')
| -rw-r--r-- | research/experiments/023-node-reuse/2026-09-30-ram-w1-linux-aarch64.jsonl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/research/experiments/023-node-reuse/2026-09-30-ram-w1-linux-aarch64.jsonl b/research/experiments/023-node-reuse/2026-09-30-ram-w1-linux-aarch64.jsonl new file mode 100644 index 0000000..c516273 --- /dev/null +++ b/research/experiments/023-node-reuse/2026-09-30-ram-w1-linux-aarch64.jsonl @@ -0,0 +1,9 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.74, "sqlite_load_s": 1.59, "sqlite_page_size": 4096, "pure_resident_mib": 38.2, "sqlite_file_mib": 13.8} +{"step": "same transactions", "transactions": 20000, "pure": {"new_order": 9036, "payment": 8518, "order_status": 811, "delivery": 796, "stock_level": 839}, "sqlite": {"new_order": 9036, "payment": 8518, "order_status": 811, "delivery": 796, "stock_level": 839}, "undone_new_orders": [90, 90], "failed": [0, 0], "differing": {}, "grouped_sqlite_differing": {}, "consistency_failures": []} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 16, "transactions_per_second": 38320, "new_orders_per_minute": 1025360, "undone_new_orders": 3508, "errors": 0, "new_order": {"done": 345298, "failed": 0, "p50_us": 416, "p99_us": 1088}, "payment": {"done": 329116, "failed": 0, "p50_us": 400, "p99_us": 1024}, "order_status": {"done": 30751, "failed": 0, "p50_us": 100, "p99_us": 512}, "delivery": {"done": 30647, "failed": 0, "p50_us": 400, "p99_us": 1024}, "stock_level": {"done": 30604, "failed": 0, "p50_us": 144, "p99_us": 544}, "server_threads": "3", "cpu_us_per_transaction": 42.7, "core_shares": {"pure-owner": 0.81, "pure-checkpoint": 0.02}, "resident_mib": 425.4, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 40976, "new_orders_per_minute": 1096607, "undone_new_orders": 3513, "errors": 0, "new_order": {"done": 369053, "failed": 0, "p50_us": 1536, "p99_us": 3968}, "payment": {"done": 352111, "failed": 0, "p50_us": 1536, "p99_us": 3968}, "order_status": {"done": 32916, "failed": 0, "p50_us": 272, "p99_us": 1664}, "delivery": {"done": 32826, "failed": 0, "p50_us": 1536, "p99_us": 3968}, "stock_level": {"done": 32620, "failed": 0, "p50_us": 304, "p99_us": 1728}, "server_threads": "3", "cpu_us_per_transaction": 45.8, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 821.5, "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": 1, "terminals": 1, "transactions_per_second": 10164, "batches": 0, "batched": 0, "new_orders_per_minute": 272459, "undone_new_orders": 964, "new_order": {"done": 91812, "failed": 0, "p50_us": 152, "p99_us": 256}, "payment": {"done": 87175, "failed": 0, "p50_us": 24, "p99_us": 44}, "order_status": {"done": 8073, "failed": 0, "p50_us": 16, "p99_us": 30}, "delivery": {"done": 8215, "failed": 0, "p50_us": 56, "p99_us": 352}, "stock_level": {"done": 8065, "failed": 0, "p50_us": 272, "p99_us": 432}, "cpu_seconds": 19.939, "peak_resident_kib": 99744, "written_bytes": 0, "cpu_us_per_transaction": 98.1, "peak_resident_mib": 97.4, "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": 1, "terminals": 4, "transactions_per_second": 9955, "batches": 0, "batched": 0, "new_orders_per_minute": 266365, "undone_new_orders": 948, "new_order": {"done": 90047, "failed": 0, "p50_us": 152, "p99_us": 304}, "payment": {"done": 85836, "failed": 0, "p50_us": 25, "p99_us": 52}, "order_status": {"done": 7969, "failed": 0, "p50_us": 20, "p99_us": 46}, "delivery": {"done": 8007, "failed": 0, "p50_us": 58, "p99_us": 136}, "stock_level": {"done": 7937, "failed": 0, "p50_us": 272, "p99_us": 608}, "cpu_seconds": 20.287, "peak_resident_kib": 42784, "written_bytes": 0, "cpu_us_per_transaction": 101.5, "peak_resident_mib": 41.8, "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": 1, "terminals": 16, "transactions_per_second": 9731, "batches": 15707, "batched": 179191, "new_orders_per_minute": 260697, "undone_new_orders": 882, "new_order": {"done": 87831, "failed": 0, "p50_us": 1600, "p99_us": 4352}, "payment": {"done": 83499, "failed": 0, "p50_us": 1472, "p99_us": 4096}, "order_status": {"done": 7845, "failed": 0, "p50_us": 136, "p99_us": 864}, "delivery": {"done": 7861, "failed": 0, "p50_us": 1536, "p99_us": 4096}, "stock_level": {"done": 7691, "failed": 0, "p50_us": 736, "p99_us": 1792}, "cpu_seconds": 26.473, "peak_resident_kib": 77728, "written_bytes": 0, "cpu_us_per_transaction": 135.9, "peak_resident_mib": 75.9, "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": 1, "terminals": 64, "transactions_per_second": 10073, "batches": 3703, "batched": 185882, "new_orders_per_minute": 268814, "undone_new_orders": 873, "new_order": {"done": 90762, "failed": 0, "p50_us": 5888, "p99_us": 12800}, "payment": {"done": 87012, "failed": 0, "p50_us": 5888, "p99_us": 12800}, "order_status": {"done": 8203, "failed": 0, "p50_us": 248, "p99_us": 1728}, "delivery": {"done": 8108, "failed": 0, "p50_us": 5888, "p99_us": 12800}, "stock_level": {"done": 8018, "failed": 0, "p50_us": 1152, "p99_us": 3840}, "cpu_seconds": 27.139, "peak_resident_kib": 129888, "written_bytes": 0, "cpu_us_per_transaction": 134.3, "peak_resident_mib": 126.8, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 821.5, "pure_state_mib": 408.9, "pure_store_mib": 447.2, "sqlite_files_mib": 82.6, "grouped_sqlite_files_mib": 80.9, "pure_counts": {"bursts": 133359, "burst_events": 1470390, "checkpoints": 77}} |
