Skip to content

Record v2.2.0 benchmark results#305

Merged
chrisrichards merged 1 commit into
mainfrom
chore/benchmarks-2.2.0
Jul 6, 2026
Merged

Record v2.2.0 benchmark results#305
chrisrichards merged 1 commit into
mainfrom
chore/benchmarks-2.2.0

Conversation

@chrisrichards

Copy link
Copy Markdown
Member

Post-release bookkeeping for v2.2.0:

  • The benchmarks project defaults to the published 2.2.0 package.
  • benchmarks.md gains the v2.2.0 sections, both runs stamped // DbfDataReader under benchmark: 2.2.0+e5fda7f by the new version tripwire:
    • Cross-library comparison: DbfData 610.0 µs / 355.86 KB (was 647.6 µs / 704.41 KB on 2.1.0) — allocations now 0.84× NDbf and within 6% of Sylvan.
    • Index tables: index paths unchanged; the full-scan baselines are 17–26% faster and allocate 72–93% less than the v2.1.0 tables thanks to column-subset parsing (e.g. count(*) filtered full scan: 23,583 µs / 17,981 KB → 17,807 µs / 1,184 KB).
  • The v1.1.0 section is corrected: its reproduce command used -p:DbfDataReaderVersion, which BenchmarkDotNet's generated child build never inherited (fixed in Parse only the columns a query needs (#296) #304); the command now uses the environment-variable form and the table holds the run re-verified against a correctly pinned 1.1.0 package — within noise of the previously recorded numbers, since the read path was genuinely unchanged between 1.1.0 and 2.1.0.

🤖 Generated with Claude Code

The benchmarks project now defaults to the published 2.2.0 package, and
benchmarks.md gains the v2.2.0 comparative and index tables: the read
path allocates 355.86 KB where 2.1.0 allocated 704.41 KB (now 0.84x NDbf,
near Sylvan's 336.81 KB), and the full-scan query baselines drop 17-26%
in time and 72-93% in allocations from column-subset parsing.

The v1.1.0 section's reproduce command is corrected to the environment
variable form (-p: never reached BenchmarkDotNet's generated child build)
and its table is replaced with the run re-verified against a correctly
pinned 1.1.0 package - within noise of the previous numbers, as the read
path was genuinely unchanged between 1.1.0 and 2.1.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@chrisrichards chrisrichards merged commit 49bfd6a into main Jul 6, 2026
3 checks passed
@chrisrichards chrisrichards deleted the chore/benchmarks-2.2.0 branch July 6, 2026 18:53
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