Profiles 10M P16

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 136_472 ms 107_779 ms 11_860 ms 15_321 ms 16 ms 501 ms 12 ms 729.6 MB 18.8 GB 78E34B89C21C4B51
RocksDB Completed 367_404 ms 340_023 ms 12_723 ms 12_223 ms 1 ms 60 ms 1_795 ms 2.0 GB 2.9 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 12_521 ms 11_860 ms 24_382 ms 410_143/s 15_957 ms 15_321 ms 31_278 ms 319_716/s
RocksDB 53_960 ms 12_723 ms 66_683 ms 149_964/s 95_936 ms 12_223 ms 108_160 ms 92_456/s

Phase Results

ZoneTree

Phase Operations Time Throughput Checksum
insert profiles 10_000_000 12_521 ms 798_634/s 60657D05C5C3D63A
read by user id 10_000_000 1_368 ms 7_312_120/s 164E82FF406E47D2
lookup by email 10_000_000 3_257 ms 3_069_941/s 9CD5A008A3E41795
scan country/status index 2_500_000 1_884 ms 1_326_866/s EC7FD1325EF846AC
query country/status 2_500_000 15_950 ms 156_736/s 40F3106F1D77B892
scan created-at index 2_500_000 2_097 ms 1_192_222/s BA6DA500E34572F2
query created-at range 2_500_000 7_130 ms 350_653/s DDD17E96EFDE8485
scan top reputation index 2_500_000 3_716 ms 672_728/s 51A3F660A0184945
query top reputation 2_500_000 6_474 ms 386_180/s 6FAB7460EDD12C85
update profiles 10_000_000 15_957 ms 626_703/s 073C2921F3D8CC5D
post-update read by user id 10_000_000 1_628 ms 6_141_007/s 3AFA1FBC5EB0299F
post-update lookup by email 10_000_000 3_225 ms 3_100_734/s D3DBDF6061A6F409
post-update scan country/status index 2_500_000 1_912 ms 1_307_726/s 3B38EC782FF0AA8A
post-update query country/status 2_500_000 17_723 ms 141_059/s AFECAF06842CA75B
post-update scan top reputation index 2_500_000 5_298 ms 471_839/s 2AB5FE5D392BC6A5
post-update query top reputation 2_500_000 7_639 ms 327_283/s 43A8DFA8C728DD25

RocksDB

Phase Operations Time Throughput Checksum
insert profiles 10_000_000 53_960 ms 185_324/s 60657D05C5C3D63A
read by user id 10_000_000 11_164 ms 895_710/s 164E82FF406E47D2
lookup by email 10_000_000 31_934 ms 313_145/s 9CD5A008A3E41795
scan country/status index 2_500_000 1_445 ms 1_729_870/s EC7FD1325EF846AC
query country/status 2_500_000 15_213 ms 164_337/s 40F3106F1D77B892
scan created-at index 2_500_000 8_601 ms 290_649/s BA6DA500E34572F2
query created-at range 2_500_000 19_854 ms 125_918/s DDD17E96EFDE8485
scan top reputation index 2_500_000 1_760 ms 1_420_168/s 51A3F660A0184945
query top reputation 2_500_000 17_295 ms 144_547/s 6FAB7460EDD12C85
update profiles 10_000_000 95_936 ms 104_236/s 073C2921F3D8CC5D
post-update read by user id 10_000_000 15_927 ms 627_870/s 3AFA1FBC5EB0299F
post-update lookup by email 10_000_000 32_321 ms 309_400/s D3DBDF6061A6F409
post-update scan country/status index 2_500_000 1_448 ms 1_726_000/s 3B38EC782FF0AA8A
post-update query country/status 2_500_000 15_217 ms 164_288/s AFECAF06842CA75B
post-update scan top reputation index 2_500_000 1_612 ms 1_551_112/s 2AB5FE5D392BC6A5
post-update query top reputation 2_500_000 16_334 ms 153_055/s 43A8DFA8C728DD25

Configuration

  • Profiles: 10_000_000
  • Parallelism: 16
  • 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: 913.4 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.