Skip to content

bench(pk): add --pk-default (pure default DatabaseConfig) and publish honest default-config numbers (P3) - #385

Merged
MPCoreDeveloper merged 1 commit into
masterfrom
bench/pk-default-config
Sep 4, 2026
Merged

bench(pk): add --pk-default (pure default DatabaseConfig) and publish honest default-config numbers (P3)#385
MPCoreDeveloper merged 1 commit into
masterfrom
bench/pk-default-config

Conversation

@MPCoreDeveloper

Copy link
Copy Markdown
Owner

Samenvatting

P3: eerlijke default-config benchmark gepubliceerd + --pk-default harness-mode.

  • Nieuwe harness-mode --pk-default draait de fair-PK-vergelijking waarbij de SharpCoreDB-arm een
    pure default DatabaseConfig gebruikt (NoEncryptMode=false, géén harness-only knoppen) —
    alleen de engine is gepind. Median-of-3 per fase.
  • Honest resultaat (vastgelegd in docs/benchmarks/default-config-pk.md):
Database INSERT READ UPDATE DELETE
SharpCoreDB (default) 111K 69K 84K 93K
SQLite 188K 107K 291K 389K
gap 1.7x 1.6x 3.5x 4.2x
  • Het default-pad engageert wél de Columnar fixed-width fast paths (counter-verified door
    DefaultEngineSelectionTests), maar de throughput blijft achter op de getunede config
    (~245K/~172K) — dominant door de default WalDurabilityMode.FullSync per-commit flush.
  • Default duurzaamheid blijft FullSync (veilig); follow-up = de synchrone commit-flush zelf
    optimaliseren en deze harness als gate voor de release-cut gebruiken (doel ≤ ~2x).

Validatie

  • Harness-build groen; geen productcode gewijzigd.

… honest numbers

New harness mode runs the fair-PK comparison where the SharpCoreDB arm uses a
PURE default DatabaseConfig (NoEncryptMode=false; no page-cache/durability/
insert harness flags) vs SQLite, median of 3.

Honest result (recorded in docs/benchmarks/default-config-pk.md): the default
path DOES engage the Columnar fixed-width fast paths (counters verify) but
UPDATE/DELETE land at ~84K/~93K ops/s (~3.5x/~4.2x behind SQLite) vs ~245K/~172K
with the tuned harness config. The dominant cause is the default
WalDurabilityMode.FullSync per-commit flush; the safe default is kept, with the
follow-up being an optimized synchronous commit flush (re-run this harness to
gate the release-cut at <= ~2x).
@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2026

Copy link
Copy Markdown

@MPCoreDeveloper
MPCoreDeveloper merged commit f1289ab into master Sep 4, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant