Profiles 10M P1

Charts

Execution Time

Execution Time

Write Throughput

Write Throughput

Lookup Throughput

Lookup Throughput

Index Scan Throughput

Index Scan Throughput

Query Throughput

Query Throughput

Resource Footprint

Resource Footprint

Total By Engine

Engine Status Run time Completed phase time Pre-read stabilize Post-update stabilize Settle Reopen Verify Storage Process peak memory Final checksum
ZoneTree Completed 629_171 ms 607_654 ms 5_252 ms 14_783 ms 15 ms 538 ms 12 ms 730.1 MB 8.9 GB 78E34B89C21C4B51
RocksDB Completed 1_604_663 ms 1_583_362 ms 5_000 ms 14_003 ms 1 ms 52 ms 1_757 ms 2.0 GB 2.8 GB 78E34B89C21C4B51

Correctness

Checksum validation passed across completed engines: ZoneTree, RocksDB.

Interpretation Notes

  • This benchmark measures live single-operation profile inserts, updates, reads, and indexed queries.
  • ZoneTree and RocksDB secondary indexes are maintained by the benchmark application using separate stores.
  • Embedded engines run in the benchmark process.
  • Completed phase time is the sum of measured workload phases. Run time also includes initialization, stabilization, settle/checkpoint, reopen, verification, and reporting overhead.
  • The write throughput chart includes raw write phases and derived write-readiness bars that add the following stabilization phase.
  • Storage is measured after each engine settles or checkpoints its data.
  • Process peak memory is measured for the benchmark process.

Write Readiness

Engine Insert Pre-read stabilize Insert + stabilize Insert ready throughput Update Post-update stabilize Update + stabilize Update ready throughput
ZoneTree 34_884 ms 5_252 ms 40_135 ms 249_156/s 92_180 ms 14_783 ms 106_963 ms 93_491/s
RocksDB 107_120 ms 5_000 ms 112_121 ms 89_190/s 316_535 ms 14_003 ms 330_539 ms 30_254/s

Phase Results

ZoneTree

Phase Operations Time Throughput Checksum
insert profiles 10_000_000 34_884 ms 286_668/s 07762AC56C55E0A5
read by user id 10_000_000 15_312 ms 653_097/s F4608F0DA193D0D9
lookup by email 10_000_000 36_590 ms 273_296/s ADE91BF4BD85A55B
scan country/status index 2_500_000 10_131 ms 246_766/s A29BE83BE119E914
query country/status 2_500_000 76_564 ms 32_652/s 3AB5B8133AFFB607
scan created-at index 2_500_000 14_736 ms 169_649/s 179FCE1FC14C464D
query created-at range 2_500_000 63_205 ms 39_554/s 5FC94052E1F97D6B
scan top reputation index 2_500_000 7_497 ms 333_459/s 0D17B3C3B0D7E8E5
query top reputation 2_500_000 46_958 ms 53_239/s 8203F6DB8D98AB65
update profiles 10_000_000 92_180 ms 108_484/s 6BDE7DC8A52F666F
post-update read by user id 10_000_000 16_625 ms 601_521/s 5D5C9BD3AB671AA6
post-update lookup by email 10_000_000 38_565 ms 259_300/s D68F7DE2F29ABC22
post-update scan country/status index 2_500_000 10_262 ms 243_620/s 974D6B6A832CB320
post-update query country/status 2_500_000 82_960 ms 30_135/s EFC6EAD2344094A4
post-update scan top reputation index 2_500_000 8_210 ms 304_489/s CE24AE7598966365
post-update query top reputation 2_500_000 52_974 ms 47_193/s B53F030441D4FE85

RocksDB

Phase Operations Time Throughput Checksum
insert profiles 10_000_000 107_120 ms 93_353/s 07762AC56C55E0A5
read by user id 10_000_000 56_141 ms 178_122/s F4608F0DA193D0D9
lookup by email 10_000_000 112_982 ms 88_510/s ADE91BF4BD85A55B
scan country/status index 2_500_000 15_884 ms 157_393/s A29BE83BE119E914
query country/status 2_500_000 135_473 ms 18_454/s 3AB5B8133AFFB607
scan created-at index 2_500_000 31_332 ms 79_791/s 179FCE1FC14C464D
query created-at range 2_500_000 182_729 ms 13_681/s 5FC94052E1F97D6B
scan top reputation index 2_500_000 13_763 ms 181_643/s 0D17B3C3B0D7E8E5
query top reputation 2_500_000 133_261 ms 18_760/s 8203F6DB8D98AB65
update profiles 10_000_000 316_535 ms 31_592/s 6BDE7DC8A52F666F
post-update read by user id 10_000_000 59_904 ms 166_933/s 5D5C9BD3AB671AA6
post-update lookup by email 10_000_000 117_701 ms 84_961/s D68F7DE2F29ABC22
post-update scan country/status index 2_500_000 16_066 ms 155_611/s 974D6B6A832CB320
post-update query country/status 2_500_000 138_212 ms 18_088/s EFC6EAD2344094A4
post-update scan top reputation index 2_500_000 13_986 ms 178_745/s CE24AE7598966365
post-update query top reputation 2_500_000 132_272 ms 18_900/s B53F030441D4FE85

Configuration

  • Profiles: 10_000_000
  • Parallelism: 1
  • Profile writes: individual operations
  • UserId reads: 10_000_000
  • Email lookups: 10_000_000
  • Query count: 2_500_000
  • Profile updates: 10_000_000
  • Post-update UserId reads: 10_000_000
  • Post-update email lookups: 10_000_000
  • Post-update query count: 2_500_000
  • Query limit: 50
  • Seed: 570123434
  • Timeout: 120_000 seconds per engine

Environment

  • OS: Microsoft Windows 10.0.26200
  • Architecture: X64
  • .NET: 10.0.6
  • CPU: Intel(R) Core(TM) Ultra 7 265KF
  • Logical processors: 20
  • Total available memory: 63.6 GB
  • Initial process working set: 744.8 MB
  • Benchmark version: 1.0.0.0
  • ZoneTree version: 1.9.6.0
  • Microsoft.Data.Sqlite version: 10.0.0
  • SQLite runtime version: 3.50.3
  • SQLitePCLRaw.core version: 2.1.11
  • SQLitePCLRaw.lib.e_sqlite3 version: 3.50.3
  • RocksDbSharp version: 6.2.2
  • RocksDbNative version: 6.2.2
  • MySqlConnector version: 2.4.0

Engine Settings

ZoneTree

  • MutableSegmentMaxItemCount: 250000
  • SparseArrayStepSize: 16
  • KeyCacheSize: 1024
  • ValueCacheSize: 1024
  • IteratorPrefetchSize: 16
  • BlockCacheLifeTime: 1 minutes
  • BottomMergePolicy: Full bottom merge when bottom segment count exceeds 1
  • ReadStabilization: Settle before read/query phases

RocksDB

  • Databases: profiles,email-index,country-status-index,created-at-index,reputation-index
  • Compression: Zstd
  • WriteBufferMb: 1024
  • MaxWriteBufferNumber: 4
  • WriteSync: false
  • ReadStabilization: Compact before read/query phases

Durability Settings

  • ZoneTree: AsyncCompressed WAL default; MutableSegmentMaxItemCount=250000; SparseArrayStepSize=16; KeyCacheSize=1024; ValueCacheSize=1024; IteratorPrefetchSize=16; BlockCacheLifeTime=1 minutes; application-managed secondary indexes; background maintainers enabled.
  • RocksDB: WAL enabled; five separate RocksDB instances; no WriteBatch across indexes; compression=Zstd; write_buffer_size=1024 MB per database; max_write_buffer_number=4.