Skip to content

Benchmark prs#1529

Draft
jprendes wants to merge 2 commits into
hyperlight-dev:mainfrom
jprendes:benchmark-prs
Draft

Benchmark prs#1529
jprendes wants to merge 2 commits into
hyperlight-dev:mainfrom
jprendes:benchmark-prs

Conversation

@jprendes

Copy link
Copy Markdown
Contributor

No description provided.

Introduce a new internal tooling crate (hyperlight-ci) that provides:

- bench subcommand: Discovers, builds, and runs criterion benchmarks
  in parallel using direct binary invocation. Features include:
  - Automatic P-core detection and CPU pinning for isolation
  - Configurable parallelism (-j N, defaults to all P-cores)
  - Progress spinners that appear only for active benchmarks
  - Support for pre-built binaries (--binary) to skip rebuilds
  - Filter benchmarks by substring or exact match

- bench-report subcommand: Generates markdown comparison tables from
  criterion's target/criterion/ JSON output. Features include:
  - Baseline comparison using change/estimates.json (new vs previous)
  - Tiered emoji indicators matching criterion-table conventions
    (rocket for 1.8x+ faster, checkmark for ok, cross for regression)
  - Optional allowlist filtering via --binary or text filter
  - Output to stdout or file (-o path)

This replaces ad-hoc benchmark scripting with a unified tool suitable
for both local development and CI report generation.

Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
@jprendes jprendes force-pushed the benchmark-prs branch 2 times, most recently from 8ad9393 to 0e181c4 Compare June 12, 2026 10:43
@jprendes jprendes added the kind/enhancement For PRs adding features, improving functionality, docs, tests, etc. label Jun 12, 2026
- Add cargo alias (`cargo ci`) for convenient hyperlight-ci invocation
- Update dep_benchmarks workflow to use `cargo ci bench` and generate
  a markdown report via `cargo ci bench-report`, posting results as
  a PR comment per hypervisor/cpu matrix entry
- Add benchmarks job to ValidatePullRequest workflow with hypervisor
  and cpu matrix, gated behind docs-only and build-guests checks
- Grant pull-requests: write permission for PR comment posting
- Simplify Justfile bench recipes to delegate to `cargo ci bench`
- Update benchmarking docs to reflect the new workflow

Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/enhancement For PRs adding features, improving functionality, docs, tests, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant