@@ -160,7 +160,7 @@ def main(directory, additional_env_vars, save_name, compare_names, filter):
160
160
merged_env_vars = {** additional_env_vars }
161
161
intermediate_results : dict [str , list [Result ]] = {}
162
162
processed : list [Result ] = []
163
- for _ in range (5 ):
163
+ for _ in range (options . iterations_stddev ):
164
164
run_iterations (benchmark , merged_env_vars , options .iterations , intermediate_results )
165
165
valid , processed = process_results (intermediate_results , benchmark .stddev_threshold ())
166
166
if valid :
@@ -252,6 +252,12 @@ def validate_and_parse_env_args(env_args):
252
252
parser .add_argument ("--output-html" , help = 'Create HTML output' , action = "store_true" , default = False )
253
253
parser .add_argument ("--output-markdown" , help = 'Create Markdown output' , action = "store_true" , default = True )
254
254
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
+ )
255
261
256
262
args = parser .parse_args ()
257
263
additional_env_vars = validate_and_parse_env_args (args .env )
@@ -272,6 +278,7 @@ def validate_and_parse_env_args(env_args):
272
278
options .output_markdown = args .output_markdown
273
279
options .dry_run = args .dry_run
274
280
options .umf = args .umf
281
+ options .iterations_stddev = args .iterations_stddev
275
282
276
283
benchmark_filter = re .compile (args .filter ) if args .filter else None
277
284
0 commit comments