Bench run: dcompact / 31251963803

← plain home | ← dcompact

generated (UTC): 2026-08-08T11:48:09.805805+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 yaml | ToplingDB zipkeyvalue 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 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.0GiB615.4MiB3.7GiB3.7GiB0.80x0.16x
fillseq4.7GiB1.2GiB3.2GiB3.2GiB1.45x0.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)
fillrandom1011.1MiB762.5MiB4.1GiB4.2GiB0.24x0.18x
fillseq500.8MiB1.2GiB6.4GiB6.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 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 15000 20000 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/54.4s1/80.7s1/43.6s1/43.1s1.48x0.80x0.79x0.54x0.53x
fillrandom2418352369262354282304431.02x1.03x1.05x1.01x1.03x
readrandom19947888259211616761578862.42x12.34x12.63x5.11x5.23x
readseq104210358130583480130631136481.28x1.37x2.12x1.07x1.65x

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/89.5s1/133.4s1/40.3s1/39.9s1.49x0.45x0.45x0.30x0.30x
fillseq5550815498118966618807581.01x0.62x0.63x0.61x0.62x
readrandom29390236167931451781566944.76x20.24x18.76x4.25x3.94x
readseq117446439890606495201237146151.19x2.37x3.16x2.00x2.66x

Per-engine details

ToplingDB zipkeyonly

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.135040241835413.50410000000013.4 MB/s
compact54423477.000000054.4241
readseq0.094664105636399.466100000000584.3 MB/s
readseq0.095006105255789.501100000000582.2 MB/s
readseq0.095959104210359.596100000000576.4 MB/s
readrandom0.501306199478850.13110000000069.7 MB/s (63205900 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.800703555081180.15410000000030.7 MB/s
compact89513450.000000089.5141
readseq0.085061117561588.506100000000650.3 MB/s
readseq0.084770117965388.477100000000652.5 MB/s
readseq0.085145117446438.515100000000649.6 MB/s
readrandom0.340249293902334.025100000000162.6 MB/s (100000000 of 100000000 found)

ToplingDB zipkeyvalue

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.220717236926422.07210000000013.1 MB/s
compact80680133.000000080.6801
readseq0.123275811190412.328100000000448.7 MB/s
readseq0.122937813420512.294100000000449.9 MB/s
readseq0.122992813058312.299100000000449.7 MB/s
readrandom1.210769825921121.07710000000028.9 MB/s (63209842 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.818804549811181.88010000000030.4 MB/s
compact133393096.0000000133.3931
readseq0.103101969918110.310100000000536.5 MB/s
readseq0.100872991355010.087100000000548.3 MB/s
readseq0.101106989060610.111100000000547.1 MB/s
readrandom1.621288616793162.12910000000034.1 MB/s (100000000 of 100000000 found)

RocksDB v8.10

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.248235428424.75710000000013.0 MB/s
compact43588269.000043.5881
readseq0.293341112418.53163212929188.7 MB/s
readseq0.207482535513.10063212929266.9 MB/s
readseq0.208480130613.16663212929265.6 MB/s
readrandom6.185161676618.5181000000005.7 MB/s (63208248 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.115896661111.52510000000049.6 MB/s
compact40303497.000040.3041
readseq0.348287516134.781100000000159.0 MB/s
readseq0.204489922320.411100000000271.0 MB/s
readseq0.202495201220.194100000000273.9 MB/s
readrandom6.888145178688.8071000000008.0 MB/s (100000000 of 100000000 found)

RocksDB master (5fe22535)

db_bench (fillrandom+compact+readseq/readrandom)

benchmarkmicros/opops/secsecondsoperationsextra
fillrandom4.339230443433.94610000000012.7 MB/s
compact43118125.000043.1181
readseq0.427234043527.00863210519129.5 MB/s
readseq0.324308258620.50663210519170.5 MB/s
readseq0.321311364820.30163210519172.2 MB/s
readrandom6.334157886633.3681000000005.5 MB/s (63210155 of 100000000 found)

db_bench (fillseq suite)

benchmarkmicros/opops/secsecondsoperationsextra
fillseq1.135880758113.53810000000048.7 MB/s
compact39916466.000039.9171
readseq0.423236652842.256100000000130.9 MB/s
readseq0.271369087627.094100000000204.2 MB/s
readseq0.269371461526.921100000000205.5 MB/s
readrandom6.382156694638.1851000000008.7 MB/s (100000000 of 100000000 found)