Bench run: dcompact / 31298143542

← plain home | ← dcompact

generated (UTC): 2026-08-09T09:29:35.567342+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: 50% (from runner_env.txt cpu_quota_write). Topling compact: dcompact_workerdcompact_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

OSUbuntu 24.04.4 LTS
Kernel6.17.0-1020-azure
CPUAMD EPYC 9V74 80-Core Processor
Logical CPUs4
Memory15.6GiB
/dev/shm7.8GiB
RocksDB block cache7.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.

workloadToplingDB zipkeyonlyToplingDB zipkeyvalueRocksDB v8.10RocksDB master (5fe22535)zipkeyonly / v8.10 (space)zipkeyvalue / v8.10 (space)
fillrandom3.0GiB494.2MiB3.7GiB3.7GiB0.81x0.13x
fillseq4.7GiB1.1GiB3.2GiB3.2GiB1.45x0.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.

workloadToplingDB zipkeyonlyToplingDB zipkeyvalueRocksDB v8.10RocksDB master (5fe22535)zipkeyonly / v8.10 (RSS)zipkeyvalue / v8.10 (RSS)
fillrandom788.9MiB852.2MiB4.1GiB4.2GiB0.19x0.20x
fillseq513.3MiB1.2GiB6.4GiB6.5GiB0.08x0.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).

startup fillrandom flush compact readseq readseq readseq readrandom 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 MiB 0 50 100 150 200 250 300 350 400 450 500 550 600 Time (s) ToplingDB zipkeyonly — fillrandom suite RAM rss shared anony pagecache anony+pc
startup fillseq flush compact readseq readseq readseq readrandom 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 MiB 0 50 100 150 200 250 300 350 400 Time (s) ToplingDB zipkeyonly — fillseq suite RAM rss shared anony pagecache anony+pc
startup fillrandom flush compact readseq readseq readseq readrandom 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 MiB 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 Time (s) ToplingDB zipkeyvalue — fillrandom suite RAM rss shared anony pagecache anony+pc
startup fillseq flush compact readseq readseq readseq readrandom 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 MiB 0 50 100 150 200 250 300 350 400 450 500 550 600 Time (s) ToplingDB zipkeyvalue — fillseq suite RAM rss shared anony pagecache anony+pc
fillrandom flush compact readseq readseq readseq readrandom 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 MiB 0 500 1000 1500 2000 Time (s) RocksDB v8.10 — fillrandom suite RAM rss shared anony pagecache anony+pc
fillseq flush compact readseq readseq readseq readrandom 0 5000 10000 MiB 0 500 1000 Time (s) RocksDB v8.10 — fillseq suite RAM rss shared anony pagecache anony+pc
fillrandom flush compact readseq readseq readseq readrandom 0 5000 10000 MiB 0 500 1000 1500 2000 Time (s) RocksDB master (5fe22535) — fillrandom suite RAM rss shared anony pagecache anony+pc
fillseq flush compact readseq readseq readseq readrandom 0 5000 10000 MiB 0 500 1000 Time (s) RocksDB master (5fe22535) — fillseq suite RAM rss shared anony pagecache anony+pc

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.

benchmarkToplingDB zipkeyonly ops/secToplingDB zipkeyvalue ops/secRocksDB v8.10 ops/secRocksDB master (5fe22535) ops/seczipkeyvalue time / zipkeyonlyv8.10 time / zipkeyonlymaster (5fe22535) time / zipkeyonlyv8.10 time / zipkeyvaluemaster (5fe22535) time / zipkeyvalue
compact1/53.2s1/79.4s1/49.8s1/42.3s1.49x0.94x0.80x0.63x0.53x
fillrandom2432512426592185112152821.00x1.11x1.13x1.11x1.13x
readrandom18052007329671469451387512.46x12.28x13.01x4.99x5.28x
readseq113751018347565450977237939231.36x1.59x1.90x1.17x1.39x

Comparison: db_bench fillseq suite (perf)

Same as fillrandom. Watch compact / readseq / readrandom cost for minDictZip=10 vs space savings above.

benchmarkToplingDB zipkeyonly ops/secToplingDB zipkeyvalue ops/secRocksDB v8.10 ops/secRocksDB master (5fe22535) ops/seczipkeyvalue time / zipkeyonlyv8.10 time / zipkeyonlymaster (5fe22535) time / zipkeyonlyv8.10 time / zipkeyvaluemaster (5fe22535) time / zipkeyvalue
compact1/83.7s1/133.7s1/39.8s1/37.1s1.60x0.48x0.44x0.30x0.28x
fillseq5818535744909546719229321.01x0.61x0.63x0.60x0.62x
readrandom27952215816691408291369304.81x19.85x20.41x4.13x4.25x
readseq131531389932354456894638737741.32x2.88x3.40x2.17x2.56x

Per-engine details

ToplingDB zipkeyonly

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.110974243251411.09810000000013.5 MB/s
compact53234221.000000053.2341
readseq0.087752113957238.775100000000630.3 MB/s
readseq0.088181113402778.818100000000627.3 MB/s
readseq0.087911113751018.791100000000629.2 MB/s
readrandom0.553954180520055.39510000000063.1 MB/s (63205377 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.718646581853171.86510000000032.2 MB/s
compact83696267.000000083.6961
readseq0.076121131369897.612100000000726.6 MB/s
readseq0.075070133208047.507100000000736.8 MB/s
readseq0.076027131531387.603100000000727.5 MB/s
readrandom0.357753279522135.775100000000154.6 MB/s (100000000 of 100000000 found)

ToplingDB zipkeyvalue

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.121005242659412.10110000000013.4 MB/s
compact79417715.000000079.4181
readseq0.121148825436112.115100000000456.6 MB/s
readseq0.119826834539311.983100000000461.6 MB/s
readseq0.119795834756511.980100000000461.7 MB/s
readrandom1.364317732967136.43210000000025.6 MB/s (63206447 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.740671574490174.06710000000031.8 MB/s
compact133732789.0000000133.7331
readseq0.103022970666210.302100000000536.9 MB/s
readseq0.100957990513610.096100000000547.9 MB/s
readseq0.100681993235410.068100000000549.4 MB/s
readrandom1.719190581669171.91910000000032.2 MB/s (100000000 of 100000000 found)

RocksDB v8.10

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.576218511457.64110000000012.1 MB/s
compact49783636.000049.7841
readseq0.325308073120.51863209518170.4 MB/s
readseq0.221451991513.98563209518250.0 MB/s
readseq0.222450977214.01663209518249.4 MB/s
readrandom6.805146945680.5231000000005.1 MB/s (63211078 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.047954671104.74810000000052.8 MB/s
compact39795711.000039.7961
readseq0.381262406738.109100000000145.1 MB/s
readseq0.222449921422.226100000000248.9 MB/s
readseq0.219456894621.887100000000252.7 MB/s
readrandom7.101140829710.0771000000007.8 MB/s (100000000 of 100000000 found)

RocksDB master (5fe22535)

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.645215282464.50610000000011.9 MB/s
compact42323790.000042.3241
readseq0.386259305924.37863213751143.4 MB/s
readseq0.261382439816.52963213751211.5 MB/s
readseq0.264379392316.66263213751209.9 MB/s
readrandom7.207138751720.7131000000004.9 MB/s (63215063 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.084922932108.35010000000051.1 MB/s
compact37117514.000037.1181
readseq0.427234366442.668100000000129.6 MB/s
readseq0.259386437125.877100000000213.8 MB/s
readseq0.258387377425.815100000000214.3 MB/s
readrandom7.303136930730.3001000000007.6 MB/s (100000000 of 100000000 found)