Skip to content

Commit b939465

Browse files
authored
Fix error_on_regression only using last check (#2390)
This commit ensures that error_on_regression checker checks every one of the checks specified in the config file. Prior to this commit it would only check the last one. The commit also increases the threshold that benchcomp uses to report a regression. Benchmarks that take less than 10 seconds (previously 2 seconds) are now ignored, and a 50% slowdown (previously 10%) is considered a regression.
1 parent 0bc6bdf commit b939465

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

tools/benchcomp/benchcomp/visualizers/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ def __call__(self, results):
4949
any_benchmark_regressed = viz_utils.AnyBenchmarkRegressedChecker(
5050
self.variant_pairs, **check)
5151

52-
if any_benchmark_regressed(results):
53-
viz_utils.EXIT_CODE = 1
52+
if any_benchmark_regressed(results):
53+
viz_utils.EXIT_CODE = 1
5454

5555

5656

tools/benchcomp/configs/perf-regression.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ visualize:
3636
# benchmark has regressed if the lambda returns true.
3737
test: "lambda old, new: False if not old else not new"
3838
- metric: solver_runtime
39-
test: "lambda old, new: False if new < 2 else new/old > 1.1"
39+
test: "lambda old, new: False if new < 10 else new/old > 1.5"
4040
- metric: symex_runtime
41-
test: "lambda old, new: False if new < 2 else new/old > 1.1"
41+
test: "lambda old, new: False if new < 10 else new/old > 1.5"

0 commit comments

Comments
 (0)