Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance regression checks: workflow #235

Merged
merged 3 commits into from
Nov 18, 2024

Conversation

lcauser-oqc
Copy link
Contributor

@lcauser-oqc lcauser-oqc commented Oct 25, 2024

Performance regression checks when merging to main.

#229 introduces a number of benchmarks that can be used to measure the performance of QAT. In this PR, we add a workflow that compares the performance to main.

  • Workflow that runs the performance benchmarks on main and then on the PR branch. Each benchmark will execute multiple times (this is flexible and we can configure this to fit our needs) and the best of each are compared. If the benchmark on the PR is slower by some predefined threshold (50% at this first pass), then the test will fail.
  • The workflow also creates a report for each test that fails significantly (>50% slower) or gives a warning for less-significant regressions (>20%). This report is created using jinja2 and is given as both a workflow summary and a comment in the PR.
  • The report will also return performance improvements (with a threshold of <0.9x the execution time of main).

Note: there are temporary tests to demonstrate the report (see the comment below) that will be removed before merging to main. This is why the workflow currently fails. Had to delete old bot comments - this was a problem specific to this branch being automatically rebased onto main before having a change to update a workflow.

@lcauser-oqc lcauser-oqc self-assigned this Oct 25, 2024
@lcauser-oqc lcauser-oqc changed the title Performance regression tests: workflow Performance regression checks: workflow Oct 25, 2024
@lcauser-oqc lcauser-oqc marked this pull request as ready for review October 30, 2024 19:42
@lcauser-oqc lcauser-oqc added the devops DevOps improvements label Nov 1, 2024
Base automatically changed from feature/lc/benchmarking_tests to main November 11, 2024 11:47
@lcauser-oqc lcauser-oqc force-pushed the feature/lc/benchmarking_workflow branch from 13579b3 to 89e444a Compare November 11, 2024 12:05
Copy link

github-actions bot commented Nov 11, 2024

Performance Regression Tests

Performance changes detected in the following benchmarks: none

Pusher: @lcauser-oqc, Action: pull_request, Workflow: Performance regression tests

@oqc-community oqc-community deleted a comment from github-actions bot Nov 11, 2024
@oqc-community oqc-community deleted a comment from github-actions bot Nov 11, 2024
@bgsach bgsach temporarily deployed to applications - github November 12, 2024 15:02 — with GitHub Actions Inactive
Copy link
Contributor

@bgsach bgsach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably needs updating because you moved the benchmarks folder out of tests?

Apart from that, looks good.

Copy link
Contributor

@keriksson-rosenqvist keriksson-rosenqvist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Great to have this on PR flows. 👏

@lcauser-oqc lcauser-oqc force-pushed the feature/lc/benchmarking_workflow branch from 6e6f58a to 4e12847 Compare November 18, 2024 18:06
@lcauser-oqc lcauser-oqc merged commit 11349b3 into main Nov 18, 2024
21 checks passed
@lcauser-oqc lcauser-oqc deleted the feature/lc/benchmarking_workflow branch November 18, 2024 18:44
@github-actions github-actions bot locked and limited conversation to collaborators Nov 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
devops DevOps improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants