@@ -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