Skip to content

Conversation

@karkhaz
Copy link
Contributor

@karkhaz karkhaz commented Apr 12, 2023

This commit adds a CI job that runs the benchcomp tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark is more than 10% slower
when run using the HEAD version of Kani, or if any performance benchmark
fails with the HEAD version while passing with the base.

This fixes #2277.

Testing: [link to GitHub Action run]

Checklist

  • Each commit message has a non-empty body, explaining why the change was made
  • Methods or procedures are documented
  • Regression or unit tests are included, or existing tests cover the modified code
  • My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@karkhaz karkhaz force-pushed the kk-benchcomp-kani-perf branch 8 times, most recently from e6cb57c to 22d4785 Compare April 12, 2023 17:02
This commit adds a CI job that runs the `benchcomp` tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark is more than 10% slower
when run using the HEAD version of Kani, or if any performance benchmark
fails with the HEAD version while passing with the base.
@karkhaz karkhaz force-pushed the kk-benchcomp-kani-perf branch from 22d4785 to 91b33e3 Compare April 12, 2023 17:07
@karkhaz karkhaz changed the title wip Add PR-blocking performance regression run Apr 12, 2023
@karkhaz karkhaz closed this Apr 12, 2023
karkhaz added a commit to karkhaz/kani that referenced this pull request Apr 14, 2023
This commit adds a CI job that runs the `benchcomp` tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark regresses when run using
the HEAD version of Kani with respect to the 'base' branch. Regression
is defined in the config file:

* a 3x slowdown for benchmarks that take <1s
* a 2x slowdown for benchmarks that take <30s
* a 10% slowdown for other benchmarks

or if any performance benchmark fails with the HEAD version while
passing with the base.

This fixes model-checking#2277.
karkhaz added a commit to karkhaz/kani that referenced this pull request Apr 15, 2023
This commit adds a CI job that runs the `benchcomp` tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark regresses when run using
the HEAD version of Kani with respect to the 'base' branch. Regression
is defined as a regression in symex or solver time of 10% for any
benchmark for which this value is >2s, or if any performance benchmark
fails with the HEAD version while passing with the base.

This fixes model-checking#2277.
karkhaz added a commit to karkhaz/kani that referenced this pull request Apr 17, 2023
This commit adds a CI job that runs the `benchcomp` tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark regresses when run using
the HEAD version of Kani with respect to the 'base' branch. Regression
is defined as a regression in symex or solver time of 10% for any
benchmark for which this value is >2s, or if any performance benchmark
fails with the HEAD version while passing with the base.

This fixes model-checking#2277.
karkhaz added a commit to karkhaz/kani that referenced this pull request Apr 17, 2023
This commit adds a CI job that runs the `benchcomp` tool on the
performance regression suite, comparing the HEAD of the pull request to
the branch that the PR targets.

The CI job fails if any performance benchmark regresses when run using
the HEAD version of Kani with respect to the 'base' branch. Regression
is defined as a regression in symex or solver time of 10% for any
benchmark for which this value is >2s, or if any performance benchmark
fails with the HEAD version while passing with the base.

This fixes model-checking#2277.
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.

Add a CI pass for pull requests that detects perfomance regressions compared to HEAD

1 participant