Profiles 100K 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 6_053 ms 4_719 ms 220 ms 212 ms 14 ms 83 ms 12 ms 7.4 MB 385.4 MB 1C7232F217FD84C5
RocksDB Completed 12_186 ms 11_368 ms 196 ms 259 ms 1 ms 59 ms 19 ms 31.8 MB 129.2 MB 1C7232F217FD84C5
SQLite Completed 33_327 ms 33_195 ms n/a n/a 12 ms 1 ms 9 ms 28.3 MB 111.6 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 292 ms 220 ms 512 ms 195_193/s 405 ms 212 ms 617 ms 162_120/s
RocksDB 914 ms 196 ms 1_110 ms 90_078/s 1_558 ms 259 ms 1_817 ms 55_023/s
SQLite 10_902 ms n/a 10_902 ms 9_172/s 11_415 ms n/a 11_415 ms 8_760/s

Phase Results

ZoneTree

Phase Operations Time Throughput Checksum
insert profiles 100_000 292 ms 342_591/s 37C6E9056D5AC045
read by user id 100_000 130 ms 771_144/s 3C75C3A02940F75F
lookup by email 100_000 188 ms 531_084/s 8EACBB38279A3446
scan country/status index 25_000 107 ms 233_250/s E552753D44C21BA5
query country/status 25_000 723 ms 34_582/s EA8772E3AB058C58
scan created-at index 25_000 131 ms 191_473/s FC8BCFD3FAD1BCC5
query created-at range 25_000 532 ms 46_976/s C3B4316ADCB40DA9
scan top reputation index 25_000 85 ms 293_848/s 284B0B82839B0CE5
query top reputation 25_000 478 ms 52_356/s 1236496CCF0CCC4D
update profiles 100_000 405 ms 246_738/s FA3F051A503B5D43
post-update read by user id 100_000 85 ms 1_174_314/s 2AD19D2C2B2F8F3D
post-update lookup by email 100_000 168 ms 596_338/s 6B8148031A502EBA
post-update scan country/status index 25_000 115 ms 216_665/s 422CBC91A8A0F391
post-update query country/status 25_000 734 ms 34_075/s 535B4B15066136A1
post-update scan top reputation index 25_000 82 ms 306_003/s A9EB6CCD50444945
post-update query top reputation 25_000 465 ms 53_787/s 642610547F49FEED

RocksDB

Phase Operations Time Throughput Checksum
insert profiles 100_000 914 ms 109_375/s 37C6E9056D5AC045
read by user id 100_000 273 ms 366_677/s 3C75C3A02940F75F
lookup by email 100_000 409 ms 244_462/s 8EACBB38279A3446
scan country/status index 25_000 158 ms 158_575/s E552753D44C21BA5
query country/status 25_000 1_329 ms 18_808/s EA8772E3AB058C58
scan created-at index 25_000 172 ms 145_233/s FC8BCFD3FAD1BCC5
query created-at range 25_000 1_417 ms 17_647/s C3B4316ADCB40DA9
scan top reputation index 25_000 136 ms 183_613/s 284B0B82839B0CE5
query top reputation 25_000 1_274 ms 19_621/s 1236496CCF0CCC4D
update profiles 100_000 1_558 ms 64_169/s FA3F051A503B5D43
post-update read by user id 100_000 282 ms 354_911/s 2AD19D2C2B2F8F3D
post-update lookup by email 100_000 406 ms 246_236/s 6B8148031A502EBA
post-update scan country/status index 25_000 169 ms 148_328/s 422CBC91A8A0F391
post-update query country/status 25_000 1_427 ms 17_518/s 535B4B15066136A1
post-update scan top reputation index 25_000 143 ms 174_767/s A9EB6CCD50444945
post-update query top reputation 25_000 1_301 ms 19_215/s 642610547F49FEED

SQLite

Phase Operations Time Throughput Checksum
insert profiles 100_000 10_902 ms 9_172/s 37C6E9056D5AC045
read by user id 100_000 276 ms 361_747/s 3C75C3A02940F75F
lookup by email 100_000 355 ms 282_078/s 8EACBB38279A3446
scan country/status index 25_000 313 ms 79_967/s E552753D44C21BA5
query country/status 25_000 1_664 ms 15_024/s EA8772E3AB058C58
scan created-at index 25_000 314 ms 79_561/s FC8BCFD3FAD1BCC5
query created-at range 25_000 1_523 ms 16_420/s C3B4316ADCB40DA9
scan top reputation index 25_000 263 ms 94_966/s 284B0B82839B0CE5
query top reputation 25_000 1_590 ms 15_719/s 1236496CCF0CCC4D
update profiles 100_000 11_415 ms 8_760/s FA3F051A503B5D43
post-update read by user id 100_000 263 ms 380_750/s 2AD19D2C2B2F8F3D
post-update lookup by email 100_000 347 ms 287_810/s 6B8148031A502EBA
post-update scan country/status index 25_000 312 ms 80_107/s 422CBC91A8A0F391
post-update query country/status 25_000 1_748 ms 14_302/s 535B4B15066136A1
post-update scan top reputation index 25_000 272 ms 91_842/s A9EB6CCD50444945
post-update query top reputation 25_000 1_637 ms 15_270/s 642610547F49FEED

Configuration

  • Profiles: 100_000
  • Parallelism: 1
  • 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: 54.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

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.