## Single client, p50 ms | scale | scenario | (a) per-call open 1.9.0 | (a') per-call open, O(1) open | (b) in-process + cache | (c) Quack + cache | (c) − (b) ms | |---|---|---:|---:|---:|---:|---:| | s | point_lookup | 465.9 | 1.171 | 0.625 | 2.889 | +2.26 | | s | ref_traversal | 510.5 | 41.0 | 38.7 | 42.2 | +3.48 | | s | aggregate | 568.1 | 91.9 | 89.6 | 94.8 | +5.28 | | s | predicate_scan | 503.3 | — | 27.9 | 35.3 | +7.38 | | s | pull | 461.2 | 1.149 | 0.559 | 2.753 | +2.19 | | s | as_of | 18,069.0 | — | 85.3 | 89.3 | +4.01 | | s | since | 520.6 | — | 5.123 | 7.962 | +2.84 | | s | input_bindings | 468.3 | — | 1.051 | 3.516 | +2.46 | | m | point_lookup | 5,003.4 | 1.757 | 1.126 | 3.454 | +2.33 | | m | ref_traversal | 5,542.9 | 500.3 | 493.4 | 500.1 | +6.68 | | m | aggregate | 6,133.1 | 1,088.8 | 1,066.9 | 1,100.5 | +33.54 | | m | predicate_scan | — | — | 333.3 | 380.8 | +47.52 | | m | pull | — | 1.187 | 1.798 | 5.001 | +3.20 | | m | as_of | ceiling | — | 1,096.0 | 1,102.8 | +6.81 | | m | since | — | — | 48.3 | 52.4 | +4.15 | | m | input_bindings | — | — | 2.660 | 5.197 | +2.54 | ## concurrency_sweep (client processes; mix of point_lookup, ref_traversal, pull) | scale | clients | (a) ops/s | (b) ops/s | (c) ops/s | (b) p50 / p99 ms | (c) p50 / p99 ms | |---|---:|---:|---:|---:|---:|---:| | s | 1 | 2.060 | 74.8 | 62.4 | 0.694 / 39.4 | 3.838 / 42.4 | | s | 8 | 15.2 | 578.8 | 458.8 | 0.717 / 40.7 | 3.124 / 64.6 | | s | 32 | 24.9 | 1,282.1 | 1,029.8 | 1.305 / 79.3 | 3.675 / 82.2 | | s | 64 | 26.7 | 1,260.8 | 1,009.5 | 2.914 / 197.8 | 6.407 / 1,108.4 | | s | 128 | 27.5 | 1,205.7 | 1,014.3 | 9.997 / 385.6 | 9.435 / 1,546.8 | | m | 1 | — | 5.980 | 5.830 | 1.219 / 497.4 | 4.290 / 507.0 | | m | 8 | — | 46.5 | 44.8 | 1.588 / 509.5 | 4.733 / 547.8 | | m | 32 | — | 109.9 | 104.8 | 2.859 / 846.8 | 9.364 / 903.3 | | m | 64 | — | 104.0 | 104.8 | 9.844 / 2,500.8 | 26.5 / 2,083.9 | | m | 128 | — | 101.6 | 97.2 | 33.7 / 4,156.5 | 49.1 / 3,684.4 | ## write_mixed (8 readers + 1 writer, 60 s) and sustained (32 readers + 1 writer, 300 s, m) | scenario | scale | op | (a) ops/s | (b) ops/s | (c) ops/s | (b) p50 / p99 ms | (c) p50 / p99 ms | |---|---|---|---:|---:|---:|---:|---:| | write_mixed | s | read x8 | 14.9 | 329.2 | 268.4 | 41.1 / 68.6 | 44.7 / 83.0 | | write_mixed | s | write x1 | 1.930 | 246.7 | 139.8 | 4.011 / 5.019 | 6.780 / 17.3 | | write_mixed | m | read x8 | — | 17.2 | 17.7 | 560.2 / 2,203.6 | 555.2 / 2,042.3 | | write_mixed | m | write x1 | — | 191.2 | 120.1 | 4.494 / 10.4 | 7.806 / 15.9 | | sustained | m | read x32 | — | 37.0 | 53.7 | 997.5 / 4,263.6 | 920.5 / 1,693.8 | | sustained | m | write x1 | — | 133.8 | 53.3 | 4.787 / 29.5 | 15.9 / 57.0 |