Skip to content

Compare selector engines with grouped benchmark charts - #208

Merged
jdalton merged 1 commit into
dperini:masterfrom
jdalton:perf/benchmark-harness
Sep 7, 2026
Merged

Compare selector engines with grouped benchmark charts#208
jdalton merged 1 commit into
dperini:masterfrom
jdalton:perf/benchmark-harness

Conversation

@jdalton

@jdalton jdalton commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Changes

  • Split the charts into six selector categories, with four selectors per SVG.
  • Compare NWSAPI 2.0.0, 2.2.27, the unreleased engine at 7fc3cda, and dom-selector 8.3.2 under jsdom 30.0.1.
  • Check ordered results against Chromium before timing. Unsupported selectors have no timing bar.
  • Record nine timing rounds, raw samples, source hashes, and machine details. Show slower results as well as faster ones.
  • Preserve the selector presets, accessor, cache, and memory harnesses under scripts/repo/bench. Use the root pnpm catalog and existing process helpers.
  • Replace the old historical reports with current charts and concise benchmark instructions.

Validation

  • 24 selectors checked against Chromium 151.0.7922.34; all candidate results agree. NWSAPI 2.0.0 does not support three of the logical selectors.
  • Six optimized SVGs generated; representative charts inspected in light and dark mode.
  • 578 Node tests passed; existing expected failures and browser skips remain.
  • API, SVG, formatting, lint, and type checks passed.
  • Diagnostic smoke runs passed for selector presets, accessor costs, cache limits, and memory.

See docs/benchmarks.md for the charts and reproduction commands. These are warm-query measurements on one fixture, not a universal performance ranking.

@jdalton
jdalton force-pushed the perf/benchmark-harness branch from e24cea0 to 084f052 Compare September 5, 2026 19:06
@jdalton
jdalton marked this pull request as ready for review September 5, 2026 19:42
@jdalton
jdalton force-pushed the perf/benchmark-harness branch 2 times, most recently from dbde0d2 to 4fd811c Compare September 6, 2026 11:40
@jdalton
jdalton force-pushed the perf/benchmark-harness branch from 4fd811c to 14a80a6 Compare September 7, 2026 15:16
@jdalton jdalton changed the title Extract benchmark harness and historical reports from #167 Compare selector engines with grouped benchmark charts Sep 7, 2026
@jdalton
jdalton merged commit d556801 into dperini:master Sep 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant