Skip to content

Add a reusable Graphile performance harness - #1716

Draft
Zetazzz wants to merge 1 commit into
mainfrom
test/performance-harness-core
Draft

Add a reusable Graphile performance harness#1716
Zetazzz wants to merge 1 commit into
mainfrom
test/performance-harness-core

Conversation

@Zetazzz

@Zetazzz Zetazzz commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Responsibility

Adds reusable fresh-process Graphile benchmarking infrastructure. The runner accepts arbitrary serializable case definitions and delegates case-specific build and lifecycle validation to a dedicated worker entry.

Included here:

  • fresh Node process and unique PID per measurement
  • --expose-gc with deterministic GC calls
  • build-only wall-clock timing
  • memory snapshots, deltas, and peak RSS
  • seeded scheduling and repetitions
  • schema groups and schema-hash validation
  • runtime query and case-specific validation contracts
  • PostgreSQL fixture preparation
  • atomic JSON reports and database URL redaction
  • a minimal upstream Graphile baseline worker

Stack

This is the first PR in the new performance stack and targets main. Later stacked PRs can add their own benchmark suites without changing the core runner.

Not included

No product-specific benchmark suite, application preset, application plugin integration, dependency patch, or optimization conclusion is included.

Validation

  • unit tests: 7 passed across 5 suites
  • CJS and ESM build: passed
  • ESLint: passed
  • Prettier and git diff --check: passed
  • frozen-lockfile install: passed
  • real PostgreSQL upstream baseline smoke: passed
    • fresh worker process
    • runtime query passed
    • schema hash recorded
    • report contained no database URL

There are no temporary patches in this PR.

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