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_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
CPUIntel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
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.0GiB496.4MiB3.7GiB3.7GiB0.81x0.13x
fillseq4.7GiB1.1GiB3.2GiB3.2GiB1.46x0.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)
fillrandom956.3MiB878.5MiB4.1GiB4.2GiB0.23x0.21x
fillseq512.5MiB1.2GiB6.5GiB6.6GiB0.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 MiB 0 50 100 150 200 250 300 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 6500 7000 MiB 0 50 100 150 200 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 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 MiB 0 50 100 150 200 250 300 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 50 100 150 200 250 300 350 400 450 500 550 600 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 50 100 150 200 250 300 350 400 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 50 100 150 200 250 300 350 400 450 500 Time (s) RocksDB master (5fe22535) — fillrandom suite RAM rss shared anony pagecache anony+pc
fillseq flush compact readseq readseq readseq readrandom 0 5000 10000 15000 20000 MiB 0 50 100 150 200 250 300 350 400 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/60.5s1/75.0s1/61.0s1/45.5s1.24x1.01x0.75x0.81x0.61x
fillrandom6728606643764966295984011.01x1.35x1.12x1.34x1.11x
readrandom466055818336003768344017782.54x12.37x11.60x4.87x4.56x
readseq29045484204958941102654785239541.42x1.67x2.15x1.18x1.52x

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/87.7s1/135.8s1/35.3s1/35.9s1.55x0.40x0.41x0.26x0.26x
fillseq19267051923782332235933177521.00x0.58x0.58x0.58x0.58x
readrandom680677514036333613303897664.85x18.84x17.46x3.88x3.60x
readseq37876850245779831131437185748071.54x3.35x4.42x2.17x2.87x

Per-engine details

ToplingDB zipkeyonly

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.486190672860148.61910000000037.2 MB/s
compact60509343.000000060.5091
readseq0.034464290159863.4461000000001605.0 MB/s
readseq0.034384290811463.4391000000001608.6 MB/s
readseq0.034427290454843.4431000000001606.6 MB/s
readrandom0.214565466055821.457100000000163.0 MB/s (63212527 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.519020192670551.902100000000106.6 MB/s
compact87746996.000000087.7471
readseq0.026519377089542.6521000000002085.8 MB/s
readseq0.026428378377822.6431000000002092.9 MB/s
readseq0.026399378768502.6401000000002095.1 MB/s
readrandom0.146912680677514.691100000000376.5 MB/s (100000000 of 100000000 found)

ToplingDB zipkeyvalue

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.505155664376150.51710000000036.7 MB/s
compact75049781.000000075.0501
readseq0.048922204402414.8921000000001130.6 MB/s
readseq0.048768205049384.8771000000001134.2 MB/s
readseq0.048790204958944.8791000000001133.7 MB/s
readrandom0.545373183360054.53810000000064.1 MB/s (63207078 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.519809192378251.981100000000106.4 MB/s
compact135812979.0000000135.8131
readseq0.041454241230424.1451000000001334.3 MB/s
readseq0.040865244705964.0871000000001353.5 MB/s
readseq0.040687245779834.0691000000001359.5 MB/s
readrandom0.712436140363371.24410000000077.6 MB/s (100000000 of 100000000 found)

RocksDB v8.10

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom2.014496629201.35810000000027.5 MB/s
compact60994529.000060.9951
readseq0.13176474618.26663216431423.0 MB/s
readseq0.090110890865.70163216431613.4 MB/s
readseq0.091110265475.73363216431609.9 MB/s
readrandom2.654376834265.36810000000013.2 MB/s (63206659 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.301332235930.099100000000183.8 MB/s
compact35312178.000035.3121
readseq0.147680149414.703100000000376.2 MB/s
readseq0.089112952288.853100000000624.8 MB/s
readseq0.088113143718.838100000000625.8 MB/s
readrandom2.768361330276.75510000000020.0 MB/s (100000000 of 100000000 found)

RocksDB master (5fe22535)

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.671598401167.11210000000033.1 MB/s
compact45545272.000045.5451
readseq0.163612205410.32663216478338.6 MB/s
readseq0.11885035887.43463216478470.4 MB/s
readseq0.11785239547.41663216478471.5 MB/s
readrandom2.489401778248.89310000000014.0 MB/s (63217386 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.301331775230.141100000000183.5 MB/s
compact35910497.000035.9111
readseq0.183547226018.274100000000302.7 MB/s
readseq0.117856797011.671100000000473.9 MB/s
readseq0.117857480711.662100000000474.3 MB/s
readrandom2.566389766256.56410000000021.6 MB/s (100000000 of 100000000 found)