New: prepared statements, UPDATE and DELETE, and key lookups that seek — 0.143 ms through the gateway.Read the update

Benchmark report · Storage engine

Storage engine: compaction, group commit

Six re-runs, same host and parameters: point reads to 412k/s, worst write latency 371 ms to 23 ms, memory at or below RocksDB's, group commit at 32 clients.

Run details

Date
Commit249f1ac (re-run), b00e98a (scan fix), de1c61b (CRC32C), 2f98517 (incremental compaction), b7ae8e7 (streamed output), 8260bf5 (group commit)
Hoststtiz, the same shared host and parameters as the 10 October run: 300k records, 4 MB memtable, 8 MB block cache, one client, fsync on every write, no compression. Dataset about 35 MB, which fits the OS page cache.
ToolThe key-value benchmark (crate uf-bench) with the RocksDB oracle run in the same process for each pair; ufd-load over the Unix socket for the group-commit run.
Raw results
docs/bench/results/2026-10-19-sttiz-indicative-table-bound.jsonl
docs/bench/results/2026-10-19b-sttiz-indicative-scan-fix.jsonl
docs/bench/results/2026-10-19c-sttiz-indicative-crc.jsonl
docs/bench/results/2026-10-19d-sttiz-indicative-incremental-compaction.jsonl
docs/bench/results/2026-10-19e-sttiz-indicative-streamed-output.jsonl
docs/bench/results/2026-10-19f-sttiz-runtime-spike.jsonl
docs/bench/results/2026-10-19g-sttiz-group-commit.jsonl
Reportdocs/bench/2026-10-10-first-results.md (sections “Re-run 2026-10-19” onward)

Indicative only. Measured on a shared development host with other services running, one node, data that fits in memory. These figures show direction, not performance to expect. The claims policy requires a dedicated host before any target is published.

Results

The tables, as written

Transcribed from the report without rounding. Bracketed values are the previous measurement where the report gives one.

Re-run (commit 249f1ac), same host class and parameters; previous values in brackets

YCSBUltraFabric ops/s (was)max latency (was)RSS (was)disk (was)RocksDB ops/s
A2,543 (2,220)371 ms (532 ms)28 MB (72)34 MB (72)2,766
B23,517 (19,274)1.8 ms24 MB (70)33 MB (68)26,276
C169,197 (93,245)0.1 ms24 MB (70)33 MB (68)265,834
E11,515 (17,937) regression1.6 ms24 MB33 MB22,378
F2,607 (2,179)367 ms (493 ms)28 MB34 MB2,723

Scan fix (commit b00e98a), YCSB-E

Engineops/sp50
UltraFabric18,854 (was 11,515)6.7 µs (was 48 µs)
RocksDB (same run)20,0038.5 µs

Slicing-by-8 CRC32C (commit de1c61b)

YCSBUltraFabricRocksDB (same run)
C412,447 ops/s, p99 11.5 µs (was 167,377 / 38.7 µs)274,508 ops/s, p99 7.6 µs
E22,655 ops/s, p50 6.6 µs (was 18,854)21,927 ops/s

Incremental compaction (commit 2f98517), all workloads

YCSBUltraFabric ops/sp99maxRSSdiskRocksDB ops/sRocksDB max
A2,6221.07 ms22.6 ms (was 371 ms)48 MB34 MB2,70918.2 ms
B28,245733 µs3.0 ms30 MB33 MB24,5421.4 ms
C429,10010.4 µs0.1 ms30 MB33 MB274,7640.1 ms
E21,049815 µs1.4 ms30 MB33 MB21,5083.2 ms
F2,6801.09 ms25.9 ms (was 367 ms)48 MB34 MB2,69618.8 ms

Streamed compaction output (commit b7ae8e7), write-heavy workloads

MeasureUltraFabricRocksDB (this run)
Write-heavy RSS32 MB (was 48 MB)26 MB
Worst-case write latency, A24.4 ms116.9 ms
Worst-case write latency, F20.6 ms9.2 ms

Group commit through ufd (commit 8260bf5): durable single-key writes from N concurrent clients over the Unix socket

ClientsWrites/sp99Writes per fdatasync
11,2331.2 ms1.0
85,1482.1 ms4.0
3219,2432.3 ms17.0

Operations per second after incremental compaction, log scale

Commit 2f98517, all five workloads, one client

UltraFabric RocksDB
10k100kUltraFabric A: 2622 ops/sRocksDB A: 2709 ops/sAUltraFabric B: 28245 ops/sRocksDB B: 24542 ops/sBUltraFabric C: 429100 ops/sRocksDB C: 274764 ops/sCUltraFabric E: 21049 ops/sRocksDB E: 21508 ops/sEUltraFabric F: 2680 ops/sRocksDB F: 2696 ops/sF

Worst-case write latency, ms

Workloads A and F: before and after incremental compaction, and RocksDB in the same run

Before (249f1ac) After (2f98517) RocksDB
0204408Before (249f1ac) A: 371 msAfter (2f98517) A: 22.6 msRocksDB A: 18.2 msABefore (249f1ac) F: 367 msAfter (2f98517) F: 25.9 msRocksDB F: 18.8 msF

Group commit: durable writes per second by client count

ufd-load over the Unix socket, every write fsynced before acknowledgement

Writes/s
0.010391207821 client8 clients32 clients
What changed

Before and during this run

  • Re-run after the WAL rolls on flush, SST v2 with restart points and a raw-block cache, and streaming compaction.
  • Scan fix (b00e98a): scans decode entry by entry from the cached raw block, seeking via restart points, after the raw-block cache caused a scan regression in the re-run.
  • Slicing-by-8 CRC32C (de1c61b): every block read verifies a CRC-32C, and the byte-at-a-time implementation dominated cache-miss cost. The new one is safe code, tested against the bytewise reference.
  • Incremental compaction (2f98517): compaction is a state machine (merge, chunked write, verify per output table) advanced by a bounded budget on each write, with backpressure at an L0 stop trigger.
  • Streamed compaction output (b7ae8e7): finished blocks are written to the output file in 1 MiB chunks instead of buffering whole tables.
  • Group commit through ufd (8260bf5): writes that queue up while one fdatasync is in flight go out together in the next one.
  • A runtime I/O spike (pread vs io_uring, buffered vs direct) was also recorded that day in 2026-10-19f-sttiz-runtime-spike.jsonl; it has no report table and is listed only as a raw file.
Reading

What the numbers say

The report's own reading, including what went wrong and what is still open.

  • After the re-run, memory and disk were at or below RocksDB's, point reads were up 81% (restart points) but still about 64% of RocksDB's, and the scan regression was traced to decoding each cached raw block in full.
  • After the CRC change, point reads reached 412 447 ops/s, above RocksDB's 274 508 in the same run; p99 point-read latency stayed above RocksDB's.
  • After incremental compaction the write stalls were gone: worst-case write latency came within about 25% of RocksDB's. RSS on write-heavy runs rose to 48 MB because a running job held one encoded output table in memory; streamed output brought it back to 32 MB (RocksDB 26 MB).
  • Group commit: 15.6× the single-client rate at 32 clients, with every write still durable before it is acknowledged.
  • Still a single client, a shared host and a small dataset: indicative only. Shared-host noise is large at the tail (RocksDB's own worst-case write varied from 9 ms to 117 ms between runs).
Reproduce

Files and tools

Report

docs/bench/2026-10-10-first-results.md (sections “Re-run 2026-10-19” onward) in the repository.

Raw results

docs/bench/results/2026-10-19-sttiz-indicative-table-bound.jsonl
docs/bench/results/2026-10-19b-sttiz-indicative-scan-fix.jsonl
docs/bench/results/2026-10-19c-sttiz-indicative-crc.jsonl
docs/bench/results/2026-10-19d-sttiz-indicative-incremental-compaction.jsonl
docs/bench/results/2026-10-19e-sttiz-indicative-streamed-output.jsonl
docs/bench/results/2026-10-19f-sttiz-runtime-spike.jsonl
docs/bench/results/2026-10-19g-sttiz-group-commit.jsonl

Access

The repository is private during development. Early-access teams receive the build, the benchmark scripts and the raw files.

See the measurements in context.

The performance page draws the latest figure from each area and states what is not measured yet.