Bench run: dcompact / 31324418704
← plain home |
← dcompact
generated (UTC): 2026-08-09T17:28:01.168318+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 | Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz |
| 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 | 496.4MiB | 3.7GiB | 3.7GiB | 0.81x | 0.13x |
| fillseq | 4.7GiB | 1.1GiB | 3.2GiB | 3.2GiB | 1.46x | 0.35x |
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 | 956.3MiB | 878.5MiB | 4.1GiB | 4.2GiB | 0.23x | 0.21x |
| fillseq | 512.5MiB | 1.2GiB | 6.5GiB | 6.6GiB | 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/60.5s | 1/75.0s | 1/61.0s | 1/45.5s | 1.24x | 1.01x | 0.75x | 0.81x | 0.61x |
| fillrandom | 672860 | 664376 | 496629 | 598401 | 1.01x | 1.35x | 1.12x | 1.34x | 1.11x |
| readrandom | 4660558 | 1833600 | 376834 | 401778 | 2.54x | 12.37x | 11.60x | 4.87x | 4.56x |
| readseq | 29045484 | 20495894 | 11026547 | 8523954 | 1.42x | 1.67x | 2.15x | 1.18x | 1.52x |
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/87.7s | 1/135.8s | 1/35.3s | 1/35.9s | 1.55x | 0.40x | 0.41x | 0.26x | 0.26x |
| fillseq | 1926705 | 1923782 | 3322359 | 3317752 | 1.00x | 0.58x | 0.58x | 0.58x | 0.58x |
| readrandom | 6806775 | 1403633 | 361330 | 389766 | 4.85x | 18.84x | 17.46x | 3.88x | 3.60x |
| readseq | 37876850 | 24577983 | 11314371 | 8574807 | 1.54x | 3.35x | 4.42x | 2.17x | 2.87x |
Per-engine details
ToplingDB zipkeyonly
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 1.486190 | 672860 | 148.619 | 100000000 | 37.2 MB/s |
| compact | 60509343.000000 | 0 | 60.509 | 1 | |
| readseq | 0.034464 | 29015986 | 3.446 | 100000000 | 1605.0 MB/s |
| readseq | 0.034384 | 29081146 | 3.439 | 100000000 | 1608.6 MB/s |
| readseq | 0.034427 | 29045484 | 3.443 | 100000000 | 1606.6 MB/s |
| readrandom | 0.214565 | 4660558 | 21.457 | 100000000 | 163.0 MB/s (63212527 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.519020 | 1926705 | 51.902 | 100000000 | 106.6 MB/s |
| compact | 87746996.000000 | 0 | 87.747 | 1 | |
| readseq | 0.026519 | 37708954 | 2.652 | 100000000 | 2085.8 MB/s |
| readseq | 0.026428 | 37837782 | 2.643 | 100000000 | 2092.9 MB/s |
| readseq | 0.026399 | 37876850 | 2.640 | 100000000 | 2095.1 MB/s |
| readrandom | 0.146912 | 6806775 | 14.691 | 100000000 | 376.5 MB/s (100000000 of 100000000 found) |
ToplingDB zipkeyvalue
db_bench (fillrandom+compact+readseq/readrandom)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillrandom | 1.505155 | 664376 | 150.517 | 100000000 | 36.7 MB/s |
| compact | 75049781.000000 | 0 | 75.050 | 1 | |
| readseq | 0.048922 | 20440241 | 4.892 | 100000000 | 1130.6 MB/s |
| readseq | 0.048768 | 20504938 | 4.877 | 100000000 | 1134.2 MB/s |
| readseq | 0.048790 | 20495894 | 4.879 | 100000000 | 1133.7 MB/s |
| readrandom | 0.545373 | 1833600 | 54.538 | 100000000 | 64.1 MB/s (63207078 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.519809 | 1923782 | 51.981 | 100000000 | 106.4 MB/s |
| compact | 135812979.000000 | 0 | 135.813 | 1 | |
| readseq | 0.041454 | 24123042 | 4.145 | 100000000 | 1334.3 MB/s |
| readseq | 0.040865 | 24470596 | 4.087 | 100000000 | 1353.5 MB/s |
| readseq | 0.040687 | 24577983 | 4.069 | 100000000 | 1359.5 MB/s |
| readrandom | 0.712436 | 1403633 | 71.244 | 100000000 | 77.6 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.014 | 496629 | 201.358 | 100000000 | 27.5 MB/s |
| compact | 60994529.000 | 0 | 60.995 | 1 | |
| readseq | 0.131 | 7647461 | 8.266 | 63216431 | 423.0 MB/s |
| readseq | 0.090 | 11089086 | 5.701 | 63216431 | 613.4 MB/s |
| readseq | 0.091 | 11026547 | 5.733 | 63216431 | 609.9 MB/s |
| readrandom | 2.654 | 376834 | 265.368 | 100000000 | 13.2 MB/s (63206659 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.301 | 3322359 | 30.099 | 100000000 | 183.8 MB/s |
| compact | 35312178.000 | 0 | 35.312 | 1 | |
| readseq | 0.147 | 6801494 | 14.703 | 100000000 | 376.2 MB/s |
| readseq | 0.089 | 11295228 | 8.853 | 100000000 | 624.8 MB/s |
| readseq | 0.088 | 11314371 | 8.838 | 100000000 | 625.8 MB/s |
| readrandom | 2.768 | 361330 | 276.755 | 100000000 | 20.0 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.671 | 598401 | 167.112 | 100000000 | 33.1 MB/s |
| compact | 45545272.000 | 0 | 45.545 | 1 | |
| readseq | 0.163 | 6122054 | 10.326 | 63216478 | 338.6 MB/s |
| readseq | 0.118 | 8503588 | 7.434 | 63216478 | 470.4 MB/s |
| readseq | 0.117 | 8523954 | 7.416 | 63216478 | 471.5 MB/s |
| readrandom | 2.489 | 401778 | 248.893 | 100000000 | 14.0 MB/s (63217386 of 100000000 found) |
db_bench (fillseq suite)
| benchmark | micros/op | ops/sec | seconds | operations | extra |
| fillseq | 0.301 | 3317752 | 30.141 | 100000000 | 183.5 MB/s |
| compact | 35910497.000 | 0 | 35.911 | 1 | |
| readseq | 0.183 | 5472260 | 18.274 | 100000000 | 302.7 MB/s |
| readseq | 0.117 | 8567970 | 11.671 | 100000000 | 473.9 MB/s |
| readseq | 0.117 | 8574807 | 11.662 | 100000000 | 474.3 MB/s |
| readrandom | 2.566 | 389766 | 256.564 | 100000000 | 21.6 MB/s (100000000 of 100000000 found) |