Profiles 100K 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 2_627 ms 1_269 ms 279 ms 209 ms 13 ms 78 ms 11 ms 7.4 MB 426.0 MB 1C7232F217FD84C5
RocksDB Completed 4_574 ms 3_791 ms 182 ms 233 ms 1 ms 49 ms 18 ms 31.8 MB 183.1 MB 1C7232F217FD84C5
SQLite Completed 34_622 ms 34_421 ms n/a n/a 81 ms 1 ms 5 ms 29.6 MB 432.0 MB 1C7232F217FD84C5

Correctness

Checksum validation passed across completed engines: ZoneTree, RocksDB, SQLite.

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.
  • SQLite maintains secondary indexes inside the database engine.
  • 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 89 ms 279 ms 368 ms 271_387/s 98 ms 209 ms 307 ms 325_213/s
RocksDB 516 ms 182 ms 698 ms 143_321/s 798 ms 233 ms 1_030 ms 97_042/s
SQLite 8_124 ms n/a 8_124 ms 12_309/s 4_910 ms n/a 4_910 ms 20_365/s

Phase Results

ZoneTree

Phase Operations Time Throughput Checksum
insert profiles 100_000 89 ms 1_121_191/s 97D1578AB310103B
read by user id 100_000 62 ms 1_620_323/s A8C120E850D25A96
lookup by email 100_000 34 ms 2_962_094/s 80AF4F910EF0BB82
scan country/status index 25_000 67 ms 375_089/s 4B8B9AF04E34827B
query country/status 25_000 191 ms 130_924/s 1DBF6AA59C11B6CE
scan created-at index 25_000 82 ms 303_478/s 6ADAA8B323030955
query created-at range 25_000 82 ms 304_767/s 84DB32B4F7F819D7
scan top reputation index 25_000 59 ms 421_206/s B4B15C95B8B7F255
query top reputation 25_000 71 ms 351_681/s 033096858774A1D5
update profiles 100_000 98 ms 1_015_534/s B89210BB6E1F6BF1
post-update read by user id 100_000 25 ms 4_051_355/s E193CDCF8B07F585
post-update lookup by email 100_000 38 ms 2_614_577/s 10AA7E4F49CB88ED
post-update scan country/status index 25_000 51 ms 486_044/s 8F87368BDEB6B94D
post-update query country/status 25_000 188 ms 132_933/s 380F06B898A0BD21
post-update scan top reputation index 25_000 55 ms 456_522/s 5B74798E2A24B945
post-update query top reputation 25_000 77 ms 325_990/s 66D86EA0F1F31EA5

RocksDB

Phase Operations Time Throughput Checksum
insert profiles 100_000 516 ms 193_880/s 97D1578AB310103B
read by user id 100_000 354 ms 282_803/s A8C120E850D25A96
lookup by email 100_000 321 ms 311_202/s 80AF4F910EF0BB82
scan country/status index 25_000 26 ms 962_938/s 4B8B9AF04E34827B
query country/status 25_000 193 ms 129_223/s 1DBF6AA59C11B6CE
scan created-at index 25_000 23 ms 1_099_307/s 6ADAA8B323030955
query created-at range 25_000 272 ms 91_909/s 84DB32B4F7F819D7
scan top reputation index 25_000 20 ms 1_269_100/s B4B15C95B8B7F255
query top reputation 25_000 187 ms 133_977/s 033096858774A1D5
update profiles 100_000 798 ms 125_387/s B89210BB6E1F6BF1
post-update read by user id 100_000 353 ms 283_049/s E193CDCF8B07F585
post-update lookup by email 100_000 327 ms 306_236/s 10AA7E4F49CB88ED
post-update scan country/status index 25_000 24 ms 1_038_383/s 8F87368BDEB6B94D
post-update query country/status 25_000 182 ms 137_369/s 380F06B898A0BD21
post-update scan top reputation index 25_000 19 ms 1_310_960/s 5B74798E2A24B945
post-update query top reputation 25_000 177 ms 140_928/s 66D86EA0F1F31EA5

SQLite

Phase Operations Time Throughput Checksum
insert profiles 100_000 8_124 ms 12_309/s 97D1578AB310103B
read by user id 100_000 454 ms 220_150/s A8C120E850D25A96
lookup by email 100_000 677 ms 147_684/s 80AF4F910EF0BB82
scan country/status index 25_000 1_258 ms 19_880/s 4B8B9AF04E34827B
query country/status 25_000 2_996 ms 8_345/s 1DBF6AA59C11B6CE
scan created-at index 25_000 1_231 ms 20_316/s 6ADAA8B323030955
query created-at range 25_000 2_978 ms 8_394/s 84DB32B4F7F819D7
scan top reputation index 25_000 879 ms 28_437/s B4B15C95B8B7F255
query top reputation 25_000 2_551 ms 9_799/s 033096858774A1D5
update profiles 100_000 4_910 ms 20_365/s B89210BB6E1F6BF1
post-update read by user id 100_000 231 ms 432_788/s E193CDCF8B07F585
post-update lookup by email 100_000 334 ms 299_678/s 10AA7E4F49CB88ED
post-update scan country/status index 25_000 1_226 ms 20_393/s 8F87368BDEB6B94D
post-update query country/status 25_000 2_956 ms 8_456/s 380F06B898A0BD21
post-update scan top reputation index 25_000 943 ms 26_525/s 5B74798E2A24B945
post-update query top reputation 25_000 2_673 ms 9_353/s 66D86EA0F1F31EA5

Configuration

  • Profiles: 100_000
  • Parallelism: 16
  • Profile writes: individual operations
  • UserId reads: 100_000
  • Email lookups: 100_000
  • Query count: 25_000
  • Profile updates: 100_000
  • Post-update UserId reads: 100_000
  • Post-update email lookups: 100_000
  • Post-update query count: 25_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: 53.6 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

SQLite

  • JournalMode: WAL
  • Synchronous: NORMAL
  • CacheMb: 1024
  • MmapMb: 1024
  • TempStore: MEMORY

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.
  • SQLite: WAL journal mode; synchronous=NORMAL; cache=1024 MB; mmap=1024 MB; native SQL indexes; single-row writes use autocommit.