Skip to content

Add support for benchmark comparisons #15

Description

@jamesx-improving

Note

Copied from ikolomi/resp-bench#16.
Originally opened by @jeremyprime on 2026-04-09T17:51:13Z.

Summary

Enable A/B comparison of two versions, branches, or commits by running the same workload against each and reporting the delta. This is the primary use case for detecting performance regressions in PRs and between releases.

Current Behavior

Benchmarks run against a single version. Comparing two versions requires manually running benchmarks separately and visually comparing the results. The interactive graph generator supports delta charts, but there's no first-class workflow for running both versions and producing a comparison report.

Proposed Behavior

Accept two versions (Maven version or or commit ID) as input, run the same workload against each, and produce a comparison report showing the delta for key metrics (latency and throughput).

This could be implemented as:

  • A wrapper script or mode in the matrix runner that builds and benchmarks version A, then version B, then generates delta charts
  • Or a standalone comparison script that takes two existing result directories and produces the delta report

The output should clearly show regressions to support quick pass/fail decisions.

Implementation Notes

  • The interactive graph generator already supports delta traces — this work is primarily about orchestrating the two runs and feeding results into the existing comparison tooling
  • Should support both local CLI usage and integration into GitHub Actions
  • Multi-iteration support (already in the matrix runner) is important here to reduce noise in comparisons

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions