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_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 7763 64-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.0GiB493.2MiB3.7GiB3.7GiB0.81x0.13x
fillseq4.7GiB1.2GiB3.2GiB3.2GiB1.46x0.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.

workloadToplingDB zipkeyonlyToplingDB zipkeyvalueRocksDB v8.10RocksDB master (5fe22535)zipkeyonly / v8.10 (RSS)zipkeyvalue / v8.10 (RSS)
fillrandom858.6MiB827.1MiB4.1GiB4.2GiB0.21x0.20x
fillseq511.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).

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 5500 6000 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 450 500 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 550 600 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 50 100 150 200 250 300 350 400 450 500 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/50.5s1/81.6s1/59.5s1/61.9s1.62x1.18x1.22x0.73x0.76x
fillrandom6224666318384889205538180.99x1.27x1.12x1.29x1.14x
readrandom378869116109863297533285722.35x11.49x11.53x4.89x4.90x
readseq22386604166222491069276880339991.35x1.32x1.76x0.98x1.31x

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/88.5s1/130.5s1/40.5s1/41.0s1.47x0.46x0.46x0.31x0.31x
fillseq17652451773186288837527351591.00x0.61x0.65x0.61x0.65x
readrandom660320213510103216353533324.89x20.53x18.69x4.20x3.82x
readseq25695592207362701075038880226831.24x2.39x3.20x1.93x2.59x

Per-engine details

ToplingDB zipkeyonly

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.606510622466160.65110000000034.4 MB/s
compact50513202.000000050.5131
readseq0.044497224729304.4501000000001243.0 MB/s
readseq0.044640224009724.4641000000001239.1 MB/s
readseq0.044669223866044.4671000000001238.3 MB/s
readrandom0.263943378869126.394100000000132.5 MB/s (63217682 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.566493176524556.64910000000097.6 MB/s
compact88480306.000000088.4801
readseq0.037855264166663.7851000000001461.2 MB/s
readseq0.037682265380103.7681000000001467.9 MB/s
readseq0.038917256955923.8921000000001421.3 MB/s
readrandom0.151441660320215.144100000000365.2 MB/s (100000000 of 100000000 found)

ToplingDB zipkeyvalue

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.582684631838158.26810000000034.9 MB/s
compact81590536.000000081.5911
readseq0.059727167426275.973100000000926.1 MB/s
readseq0.059636167682435.964100000000927.5 MB/s
readseq0.060160166222496.016100000000919.4 MB/s
readrandom0.620737161098662.07410000000056.3 MB/s (63211220 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.563956177318656.39610000000098.1 MB/s
compact130502198.0000000130.5021
readseq0.049035203935254.9041000000001128.0 MB/s
readseq0.048921204408774.8921000000001130.6 MB/s
readseq0.048224207362704.8221000000001147.0 MB/s
readrandom0.740186135101074.01910000000074.7 MB/s (100000000 of 100000000 found)

RocksDB v8.10

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom2.045488920204.53210000000027.0 MB/s
compact59514511.000059.5151
readseq0.13474831338.44763213445413.9 MB/s
readseq0.094106807555.91863213445590.8 MB/s
readseq0.094106927685.91263213445591.5 MB/s
readrandom3.033329753303.25710000000011.5 MB/s (63220099 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.346288837534.622100000000159.8 MB/s
compact40461243.000040.4611
readseq0.160626056415.973100000000346.3 MB/s
readseq0.094106880559.356100000000591.2 MB/s
readseq0.093107503889.302100000000594.6 MB/s
readrandom3.109321635310.91110000000017.8 MB/s (100000000 of 100000000 found)

RocksDB master (5fe22535)

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom1.806553818180.56510000000030.6 MB/s
compact61850972.000061.8511
readseq0.173578648210.92563214451320.1 MB/s
readseq0.12579687447.93363214451440.8 MB/s
readseq0.12480339997.86863214451444.4 MB/s
readrandom3.043328572304.34610000000011.5 MB/s (63205195 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq0.366273515936.561100000000151.3 MB/s
compact40977270.000040.9771
readseq0.193516847419.348100000000285.9 MB/s
readseq0.124804078612.437100000000444.8 MB/s
readseq0.125802268312.465100000000443.8 MB/s
readrandom2.830353332283.02010000000019.5 MB/s (100000000 of 100000000 found)