Bench run: dcompact / 31303589765
← plain home |
← dcompact
generated (UTC): 2026-08-09T10:21:07.496544+00:00
ToplingDB zipkeyonly db_bench | ToplingDB zipkeyvalue db_bench | RocksDB v8.10 db_bench | RocksDB master (5fe22535) db_bench | DB INFO LOGs (Actions artifact) — ToplingDB zipkeyonly LOG-fillrandom, ToplingDB zipkeyonly LOG-fillseq, ToplingDB zipkeyvalue LOG-fillrandom, ToplingDB zipkeyvalue LOG-fillseq, RocksDB v8.10 LOG-fillrandom, RocksDB v8.10 LOG-fillseq, RocksDB master (5fe22535) LOG-fillrandom, RocksDB master (5fe22535) LOG-fillseq
ToplingDB bench yaml (runtime graft): ToplingDB zipkeyonly db_bench-fillrandom.yaml | ToplingDB zipkeyonly db_bench-fillseq.yaml | ToplingDB zipkeyvalue db_bench-fillrandom.yaml | ToplingDB zipkeyvalue db_bench-fillseq.yaml
Bench configuration (dcompact)
Write-side db_bench CPU quota: 150%
(from runner_env.txt cpu_quota_write).
Topling compact: dcompact_worker —
dcompact_worker runs outside the write cgroup and uses remaining CPU cores.
RocksDB compact: compaction_service_spool —
CompactionService spool + out-of-cgroup broker/worker on remaining cores.
Runner hardware/software
| OS | Ubuntu 24.04.4 LTS |
| Kernel | 6.17.0-1020-azure |
| CPU | AMD EPYC 7763 64-Core Processor |
| Logical CPUs | 4 |
| Memory | 15.6GiB |
| /dev/shm | 7.8GiB |
| RocksDB block cache | 7.8GiB |
On-disk DB size (3.7GiB) ≤ block cache (7.8GiB) — cache can hold the entire dataset. So this benchmark mainly shows CPU and memory cost.
/dev/shm usage (disk space; after db_bench)
Allocated disk usage (IEC blocks). RocksDB uses default Snappy compression. Space ratio = engine / v8.10; <1 = less space than RocksDB, >1 = larger.
| workload | ToplingDB zipkeyonly | ToplingDB zipkeyvalue | RocksDB v8.10 | RocksDB master (5fe22535) | zipkeyonly / v8.10 (space) | zipkeyvalue / v8.10 (space) |
| fillrandom | 3.0GiB | 493.2MiB | 3.7GiB | 3.7GiB | 0.81x | 0.13x |
| fillseq | 4.7GiB | 1.2GiB | 3.2GiB | 3.2GiB | 1.46x | 0.36x |
Peak RSS (RAM; during db_bench)
RSS is Resident Set Size. RocksDB block cache = half physical memory (7.8GiB). Ratio = engine / v8.10; <1 = less RSS, >1 = more RSS.
| workload | ToplingDB zipkeyonly | ToplingDB zipkeyvalue | RocksDB v8.10 | RocksDB master (5fe22535) | zipkeyonly / v8.10 (RSS) | zipkeyvalue / v8.10 (RSS) |
| fillrandom | 858.6MiB | 827.1MiB | 4.1GiB | 4.2GiB | 0.21x | 0.20x |
| fillseq | 511.3MiB | 1.2GiB | 6.4GiB | 6.5GiB | 0.08x | 0.19x |
RAM usage over time
Sampled once per second from /proc/statm plus open-file page cache. Colored bands show benchmark segments (start time from db_bench output).
Comparison: db_bench fillrandom suite (perf)
Benchmarks: fillrandom, flush, compact, readseq×3, readrandom. RocksDB uses default Snappy compression. compact row shows operations/seconds. RocksDB time / zipkey*: >1 = that zipkey* engine faster. Values show ops/sec.
| benchmark | ToplingDB zipkeyonly ops/sec | ToplingDB zipkeyvalue ops/sec | RocksDB v8.10 ops/sec | RocksDB master (5fe22535) ops/sec | zipkeyvalue time / zipkeyonly | v8.10 time / zipkeyonly | master (5fe22535) time / zipkeyonly | v8.10 time / zipkeyvalue | master (5fe22535) time / zipkeyvalue |
| compact | 1/50.5s | 1/81.6s | 1/59.5s | 1/61.9s | 1.62x | 1.18x | 1.22x | 0.73x | 0.76x |
| fillrandom | 622466 | 631838 | 488920 | 553818 | 0.99x | 1.27x | 1.12x | 1.29x | 1.14x |
| readrandom | 3788691 | 1610986 | 329753 | 328572 | 2.35x | 11.49x | 11.53x | 4.89x | 4.90x |
| readseq | 22386604 | 16622249 | 10692768 | 8033999 | 1.35x | 1.32x | 1.76x | 0.98x | 1.31x |
Comparison: db_bench fillseq suite (perf)
Same as fillrandom. Watch compact / readseq / readrandom cost for minDictZip=10 vs space savings above.
| benchmark | ToplingDB zipkeyonly ops/sec | ToplingDB zipkeyvalue ops/sec | RocksDB v8.10 ops/sec | RocksDB master (5fe22535) ops/sec | zipkeyvalue time / zipkeyonly | v8.10 time / zipkeyonly | master (5fe22535) time / zipkeyonly | v8.10 time / zipkeyvalue | master (5fe22535) time / zipkeyvalue |
| compact | 1/88.5s | 1/130.5s | 1/40.5s | 1/41.0s | 1.47x | 0.46x | 0.46x | 0.31x | 0.31x |
| fillseq | 1765245 | 1773186 | 2888375 | 2735159 | 1.00x | 0.61x | 0.65x | 0.61x | 0.65x |
| readrandom | 6603202 | 1351010 | 321635 | 353332 | 4.89x | 20.53x | 18.69x | 4.20x | 3.82x |
| readseq | 25695592 | 20736270 | 10750388 | 8022683 | 1.24x | 2.39x | 3.20x | 1.93x | 2.59x |
Per-engine details
ToplingDB zipkeyonly
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 1.606510 | 622466 | 160.651 | 100000000 | 34.4 MB/s |
| compact | 50513202.000000 | 0 | 50.513 | 1 | |
| readseq | 0.044497 | 22472930 | 4.450 | 100000000 | 1243.0 MB/s |
| readseq | 0.044640 | 22400972 | 4.464 | 100000000 | 1239.1 MB/s |
| readseq | 0.044669 | 22386604 | 4.467 | 100000000 | 1238.3 MB/s |
| readrandom | 0.263943 | 3788691 | 26.394 | 100000000 | 132.5 MB/s (63217682 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.566493 | 1765245 | 56.649 | 100000000 | 97.6 MB/s |
| compact | 88480306.000000 | 0 | 88.480 | 1 | |
| readseq | 0.037855 | 26416666 | 3.785 | 100000000 | 1461.2 MB/s |
| readseq | 0.037682 | 26538010 | 3.768 | 100000000 | 1467.9 MB/s |
| readseq | 0.038917 | 25695592 | 3.892 | 100000000 | 1421.3 MB/s |
| readrandom | 0.151441 | 6603202 | 15.144 | 100000000 | 365.2 MB/s (100000000 of 100000000 found) |
ToplingDB zipkeyvalue
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 1.582684 | 631838 | 158.268 | 100000000 | 34.9 MB/s |
| compact | 81590536.000000 | 0 | 81.591 | 1 | |
| readseq | 0.059727 | 16742627 | 5.973 | 100000000 | 926.1 MB/s |
| readseq | 0.059636 | 16768243 | 5.964 | 100000000 | 927.5 MB/s |
| readseq | 0.060160 | 16622249 | 6.016 | 100000000 | 919.4 MB/s |
| readrandom | 0.620737 | 1610986 | 62.074 | 100000000 | 56.3 MB/s (63211220 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.563956 | 1773186 | 56.396 | 100000000 | 98.1 MB/s |
| compact | 130502198.000000 | 0 | 130.502 | 1 | |
| readseq | 0.049035 | 20393525 | 4.904 | 100000000 | 1128.0 MB/s |
| readseq | 0.048921 | 20440877 | 4.892 | 100000000 | 1130.6 MB/s |
| readseq | 0.048224 | 20736270 | 4.822 | 100000000 | 1147.0 MB/s |
| readrandom | 0.740186 | 1351010 | 74.019 | 100000000 | 74.7 MB/s (100000000 of 100000000 found) |
RocksDB v8.10
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 2.045 | 488920 | 204.532 | 100000000 | 27.0 MB/s |
| compact | 59514511.000 | 0 | 59.515 | 1 | |
| readseq | 0.134 | 7483133 | 8.447 | 63213445 | 413.9 MB/s |
| readseq | 0.094 | 10680755 | 5.918 | 63213445 | 590.8 MB/s |
| readseq | 0.094 | 10692768 | 5.912 | 63213445 | 591.5 MB/s |
| readrandom | 3.033 | 329753 | 303.257 | 100000000 | 11.5 MB/s (63220099 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.346 | 2888375 | 34.622 | 100000000 | 159.8 MB/s |
| compact | 40461243.000 | 0 | 40.461 | 1 | |
| readseq | 0.160 | 6260564 | 15.973 | 100000000 | 346.3 MB/s |
| readseq | 0.094 | 10688055 | 9.356 | 100000000 | 591.2 MB/s |
| readseq | 0.093 | 10750388 | 9.302 | 100000000 | 594.6 MB/s |
| readrandom | 3.109 | 321635 | 310.911 | 100000000 | 17.8 MB/s (100000000 of 100000000 found) |
RocksDB master (5fe22535)
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 1.806 | 553818 | 180.565 | 100000000 | 30.6 MB/s |
| compact | 61850972.000 | 0 | 61.851 | 1 | |
| readseq | 0.173 | 5786482 | 10.925 | 63214451 | 320.1 MB/s |
| readseq | 0.125 | 7968744 | 7.933 | 63214451 | 440.8 MB/s |
| readseq | 0.124 | 8033999 | 7.868 | 63214451 | 444.4 MB/s |
| readrandom | 3.043 | 328572 | 304.346 | 100000000 | 11.5 MB/s (63205195 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.366 | 2735159 | 36.561 | 100000000 | 151.3 MB/s |
| compact | 40977270.000 | 0 | 40.977 | 1 | |
| readseq | 0.193 | 5168474 | 19.348 | 100000000 | 285.9 MB/s |
| readseq | 0.124 | 8040786 | 12.437 | 100000000 | 444.8 MB/s |
| readseq | 0.125 | 8022683 | 12.465 | 100000000 | 443.8 MB/s |
| readrandom | 2.830 | 353332 | 283.020 | 100000000 | 19.5 MB/s (100000000 of 100000000 found) |