Skip to content

test: add benchmarks for compile, marshal, and validate #78

Description

@OmarAlJarrah

Problem

There are zero benchmarks across 129 Go files (grep -rn "func Benchmark" → no matches), despite a 100%-coverage gate and a determinism harness. Current performance characteristics had to be measured ad hoc for this audit (e.g. GitHub REST: 6.5 s compile, ~1.3 GB peak, 95.6 MB output; parse/resolve dominating the profile at 3.7 s of a 3.88 s compile). Regressions in compile time or allocations — e.g. from a parsing-library bump, to which the repo already pins behavioral coupling (cycles.go documents v1.24.0 specifics) — would land silently.

Proposed direction

go test -bench benchmarks over the golden petstore and a generated large spec (a corpus generator can live alongside irtest or in a script): compile wall/allocs, marshal, validate. Run them in the scheduled workflow from #77 with benchstat comparison, so the numbers above become tracked baselines instead of one-off measurements. Size: S.

Acceptance

  • go test -bench . ./... produces stable numbers for compile/marshal/validate on both corpora.
  • The scheduled run records comparable output across commits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions