Bench run: dcompact / 31800981467

← plain home | ← dcompact

generated (UTC): 2026-08-14T15:45:19.774666+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-1022-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.0GiB491.0MiB3.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)
fillrandom797.8MiB918.5MiB4.1GiB4.2GiB0.19x0.22x
fillseq513.2MiB1.2GiB6.4GiB6.5GiB0.08x0.19x

RAM usage over time

Sampled once per second from /proc/statm plus open-file page cache. The bar below each plot shows stage name + duration (consecutive repeats merge, e.g. readseq×3); colored bands mark the same intervals. Stage names may overflow into a neighbor cell; a label under the bar is used only when names would overlap.

startup 2.0 fillrandom 416 flush 4.1 compact 57 readseq×3 29 readrandom 41 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 zipkeyonly — fillrandom suite RAM rss shared anony pagecache anony+pc
startup 2.0 fillseq 179 flush 0.1 compact 91 readseq×3 26 readrandom 34 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 Time (s) ToplingDB zipkeyonly — fillseq suite RAM rss shared anony pagecache anony+pc
startup 2.0 fillrandom 410 flush 1.6 compact 83 readseq×3 38 readrandom 107 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 650 700 Time (s) ToplingDB zipkeyvalue — fillrandom suite RAM rss shared anony pagecache anony+pc
startup 2.0 fillseq 180 flush 0.1 compact 134 readseq×3 30 readrandom 141 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 Time (s) ToplingDB zipkeyvalue — fillseq suite RAM rss shared anony pagecache anony+pc
fillrandom 411 readseq×3 45 readrandom 652 flush 0.7 compact 41 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 109 compact 40 readseq×3 75 readrandom 693 flush 0.4 0 5000 10000 MiB 0 500 1000 Time (s) RocksDB v8.10 — fillseq suite RAM rss shared anony pagecache anony+pc
fillrandom 438 readseq×3 60 readrandom 639 flush 0.7 compact 49 0 5000 10000 MiB 0 500 1000 1500 2000 Time (s) RocksDB master (5fe22535) — fillrandom suite RAM rss shared anony pagecache anony+pc
fillseq 112 compact 41 readseq×3 95 readrandom 635 flush 0.5 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/56.5s1/83.3s1/41.5s1/48.6s1.47x0.73x0.86x0.50x0.58x
fillrandom2401052438292433672284400.98x0.99x1.05x1.00x1.07x
readrandom24522649389301533971565242.61x15.99x15.67x6.12x6.00x
readseq105195087635276486055236327571.38x1.37x1.83x0.99x1.33x

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/91.2s1/133.5s1/40.1s1/41.4s1.46x0.44x0.45x0.30x0.31x
fillseq5575585551759160328932711.00x0.61x0.62x0.61x0.62x
readrandom28988617083771443901574274.09x20.08x18.41x4.91x4.50x
readseq1176759510069490497777637481111.17x2.36x3.14x2.02x2.69x

Per-engine details

ToplingDB zipkeyonly

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.164833240105416.48310000000013.3 MB/s
compact56513570.000000056.5141
readseq0.094962105304679.496100000000582.5 MB/s
readseq0.095134105114659.513100000000581.4 MB/s
readseq0.095061105195089.506100000000581.9 MB/s
readrandom0.407786245226440.77910000000085.7 MB/s (63210566 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.793534557558179.35310000000030.8 MB/s
compact91226177.000000091.2261
readseq0.085810116536168.581100000000644.6 MB/s
readseq0.084241118705738.424100000000656.6 MB/s
readseq0.084979117675958.498100000000650.9 MB/s
readrandom0.344963289886134.496100000000160.3 MB/s (100000000 of 100000000 found)

ToplingDB zipkeyvalue

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.101229243829410.12310000000013.5 MB/s
compact83324375.000000083.3241
readseq0.123100812343312.310100000000449.3 MB/s
readseq0.122725814830312.272100000000450.7 MB/s
readseq0.130970763527613.097100000000422.3 MB/s
readrandom1.065041938930106.50410000000032.8 MB/s (63213056 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.801234555175180.12310000000030.7 MB/s
compact133527951.0000000133.5281
readseq0.101127988854810.113100000000547.0 MB/s
readseq0.100592994116010.059100000000549.9 MB/s
readseq0.099310100694909.931100000000557.0 MB/s
readrandom1.411677708377141.16810000000039.2 MB/s (100000000 of 100000000 found)

RocksDB v8.10

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.109243367410.90210000000013.5 MB/s
compact41481893.000041.4821
readseq0.293341492718.51163212598188.9 MB/s
readseq0.207483146513.08463212598267.2 MB/s
readseq0.206486055213.00563212598268.9 MB/s
readrandom6.519153397651.9011000000005.4 MB/s (63217497 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.092916032109.16610000000050.7 MB/s
compact40107550.000040.1081
readseq0.347288455734.667100000000159.6 MB/s
readseq0.201496771120.130100000000274.8 MB/s
readseq0.201497777620.089100000000275.3 MB/s
readrandom6.926144390692.5681000000008.0 MB/s (100000000 of 100000000 found)

RocksDB master (5fe22535)

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.377228440437.75010000000012.6 MB/s
compact48561958.000048.5621
readseq0.401249642825.32063209607138.1 MB/s
readseq0.279358988417.60863209607198.6 MB/s
readseq0.275363275717.40063209607200.9 MB/s
readrandom6.389156524638.8761000000005.5 MB/s (63203829 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.119893271111.94810000000049.4 MB/s
compact41423414.000041.4231
readseq0.417239938241.677100000000132.7 MB/s
readseq0.267374697626.688100000000207.3 MB/s
readseq0.267374811126.680100000000207.3 MB/s
readrandom6.352157427635.2131000000008.7 MB/s (100000000 of 100000000 found)