Skip to content

Commit 7371167

Browse files
Add a benchmark scripts parameter for faster testing
1 parent ad88f0a commit 7371167

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

scripts/benchmarks/benches/options.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class Options:
2626
# these two should probably be merged into one setting
2727
stddev_threshold: float = 0.02
2828
epsilon: float = 0.02
29+
iterations_stddev: int = 5
2930

3031
options = Options()
3132

scripts/benchmarks/main.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def main(directory, additional_env_vars, save_name, compare_names, filter):
160160
merged_env_vars = {**additional_env_vars}
161161
intermediate_results: dict[str, list[Result]] = {}
162162
processed: list[Result] = []
163-
for _ in range(5):
163+
for _ in range(options.iterations_stddev):
164164
run_iterations(benchmark, merged_env_vars, options.iterations, intermediate_results)
165165
valid, processed = process_results(intermediate_results, benchmark.stddev_threshold())
166166
if valid:
@@ -252,6 +252,12 @@ def validate_and_parse_env_args(env_args):
252252
parser.add_argument("--output-html", help='Create HTML output', action="store_true", default=False)
253253
parser.add_argument("--output-markdown", help='Create Markdown output', action="store_true", default=True)
254254
parser.add_argument("--dry-run", help='Do not run any actual benchmarks', action="store_true", default=False)
255+
parser.add_argument(
256+
"--iterations-stddev",
257+
type=int,
258+
help="Max number of iterations of the loop calculating stddev after completed benchmark runs",
259+
default=options.iterations_stddev,
260+
)
255261

256262
args = parser.parse_args()
257263
additional_env_vars = validate_and_parse_env_args(args.env)
@@ -272,6 +278,7 @@ def validate_and_parse_env_args(env_args):
272278
options.output_markdown = args.output_markdown
273279
options.dry_run = args.dry_run
274280
options.umf = args.umf
281+
options.iterations_stddev = args.iterations_stddev
275282

276283
benchmark_filter = re.compile(args.filter) if args.filter else None
277284

0 commit comments

Comments
 (0)