Performance,
with the context attached.
120 matched trials on an isolated server guest. Checked results, retained raw samples and visible regressions. These measure the packed-page change; the full competitor comparison remains open.
Throughput and tail latency together.
Each read phase runs for two seconds. Write phases commit a fixed number of records. Compare the preceding engine with the packed-page engine using the same data and encryption enabled.
| Workload | Before ops/s | After ops/s | Change | p50 µs | p95 µs | p99 µs | Max µs |
|---|---|---|---|---|---|---|---|
| point read | 43,782 | 158,991 | +263.1% | 4.7 | 5.4 | 6.2 | 241.8 |
| indexed equality | 10,340 | 10,701 | +3.5% | 83.9 | 103 | 111.3 | 218.7 |
| indexed range | 2,193 | 2,293 | +4.5% | 398.8 | 462 | 469.6 | 507.3 |
| indexed array | 1,727 | 1,795 | +3.9% | 515.3 | 586 | 592.6 | 786 |
| insert one commit | 241 | 241 | -0.1% | 4,101.1 | 4,344.2 | 4,439.3 | 12,483.7 |
| insert batch 32 | 3,988 | 4,613 | +15.7% | 6,868.1 | 7,378.7 | 7,378.7 | 21,661.6 |
| update unchanged index keys | 276 | 285 | +3.3% | 3,465.1 | 3,682 | 3,990.3 | 20,285.1 |
| delete index cleanup | 245 | 241 | -1.7% | 4,123.6 | 4,351.1 | 4,537.8 | 8,723.5 |
Throughput and p50/p95/p99 are medians of five trial results. Max is the largest after-revision latency observed across all five trials. Latency measures the engine call; sustained wall throughput also includes request preparation and result checks. A batch insert counts 32 records per request; its latency is for the full transaction.
Inspect distribution, not just thread count.
For the selected lane, this shows the largest ratio of busiest to least-busy worker by checked requests in any of the five after-revision trials. Equal fixed-work allocation produces 1.00×; sustained reads let each worker finish as much checked work as it can.
| Workload | Largest worker ratio |
|---|---|
| point read | 1.00× |
| indexed equality | 1.00× |
| indexed range | 1.00× |
| indexed array | 1.00× |
| insert one commit | 1.00× |
| insert batch 32 | 1.00× |
| update unchanged index keys | 1.00× |
| delete index cleanup | 1.00× |
Complete raw latency samples, checked counts, CPU ticks and first/last completion times are retained per worker in the private reproduction corpus. This fixture calls the embedded engine directly; it does not establish HTTP executor or load-balancer distribution.
One. Two. Four. Eight.
Median after-revision operations per second with identical total work and five fresh repeats per revision, storage profile and worker count. These short phases are separate from the sustained-read table.
| Workload | 1 worker | 2 workers | 4 workers | 8 workers |
|---|---|---|---|---|
| point read | 127,602 | 195,280 | 341,868 | 538,284 |
| indexed equality | 9,706 | 16,483 | 26,351 | 42,564 |
| indexed range | 1,953 | 3,694 | 6,462 | 10,408 |
| indexed array | 1,581 | 3,016 | 5,384 | 8,918 |
| insert one commit | 238 | 218 | 267 | 315 |
| insert batch 32 | 4,640 | 3,460 | 3,545 | 4,200 |
| update unchanged index keys | 282 | 262 | 440 | 492 |
| delete index cleanup | 238 | 218 | 329 | 317 |
Reproduce the same conditions.
SSH fz · AMD EPYC 7763 · KVM · ext4. Eight vCPUs are individually pinned to eight distinct host cores. Each trial uses a process affinity set matching its worker count. The guest has 16 GiB RAM and a disk-backed ext4 data directory; tmpfs is rejected. Other existing guests remain active on separate CPU sets, so this is isolated CPU allocation, not an idle dedicated machine.
Seed: 2,000 records with a 512-byte payload, unique email, scalar score and expanded-array indexes. Equality, range and array queries return 20, 100 and 125 projected records respectively. Every response is checked; each trial reopens and verifies 2,768 record addresses and 784 original mutation receipts. Both revisions use encrypted durable WAL, pages and receipts.
Warm data fits in memory. Filesystem caches remain warm from setup. These are not cold-disk, beyond-RAM, physical power-loss or production saturation measurements. The aborted tmpfs run and earlier laptop measurements are excluded from acceptance and current website claims.
Before: 419d563d2f4e08ca2f5a83453c49155e7c03fbfb
After: 4e483c720ff949efb5882f625a0f82b5990fd3ad
The full comparison still has to pass.
New databases now default to encryption disabled. The tables above measure an earlier revision with encryption enabled. Matched encryption-off/on comparisons against SQLite, PostgreSQL and ArangoDB remain open, as do joins, aggregates, sort, nested indexed/unindexed paths, search, vector, mixed traffic, replica and shard workloads. No universal speed ranking or production readiness follows from these component results.