22
33import ast
44import concurrent .futures
5- import difflib
65import os
76import random
87import subprocess
3231from codeflash .code_utils .code_utils import (
3332 ImportErrorPattern ,
3433 cleanup_paths ,
34+ create_rank_dictionary_compact ,
35+ diff_length ,
3536 file_name_from_test_module_name ,
3637 get_run_tmp_file ,
3738 has_any_async_functions ,
3839 module_name_from_file_path ,
3940 restore_conftest ,
40- diff_length ,
41- create_rank_dictionary_compact ,
4241)
4342from codeflash .code_utils .config_consts import (
4443 INDIVIDUAL_TESTCASE_TIMEOUT ,
@@ -363,7 +362,6 @@ def determine_best_candidate(
363362 exp_type : str ,
364363 ) -> BestOptimization | None :
365364 # TODO remove
366- from codeflash .models .models import OptimizedCandidate
367365
368366 best_optimization : BestOptimization | None = None
369367 _best_runtime_until_now = original_code_baseline .runtime
@@ -482,7 +480,9 @@ def determine_best_candidate(
482480 original_helper_code = original_helper_code ,
483481 candidate_index = candidate_index ,
484482 )
485- optimized_line_profiler_results [candidate .optimization_id ]= line_profile_test_results ['str_out' ]
483+ optimized_line_profiler_results [candidate .optimization_id ] = line_profile_test_results [
484+ "str_out"
485+ ]
486486 replay_perf_gain = {}
487487 if self .args .benchmark :
488488 test_results_by_benchmark = (
@@ -580,10 +580,12 @@ def determine_best_candidate(
580580 if not len (self .valid_optimizations ):
581581 return None
582582 # need to figure out the best candidate here before we return best_optimization
583- diff_lens_list = [] # character level diff
583+ diff_lens_list = [] # character level diff
584584 runtimes_list = []
585585 for valid_opt in self .valid_optimizations :
586- diff_lens_list .append (diff_length (valid_opt .candidate .source_code , code_context .read_writable_code )) #char level diff
586+ diff_lens_list .append (
587+ diff_length (valid_opt .candidate .source_code , code_context .read_writable_code )
588+ ) # char level diff
587589 runtimes_list .append (valid_opt .runtime )
588590 diff_lens_ranking = create_rank_dictionary_compact (diff_lens_list )
589591 runtimes_ranking = create_rank_dictionary_compact (runtimes_list )
@@ -598,7 +600,7 @@ def determine_best_candidate(
598600 optimized_runtime = optimized_runtimes ,
599601 is_correct = is_correct ,
600602 best_optimization_id = best_optimization .candidate .optimization_id ,
601- optimized_line_profiler_results = optimized_line_profiler_results
603+ optimized_line_profiler_results = optimized_line_profiler_results ,
602604 )
603605 return best_optimization
604606
@@ -630,7 +632,7 @@ def refine_optimizations(
630632 fto_name = fto_name ,
631633 )
632634 for opt in valid_optimizations
633- ] # TODO: multiple workers for this?
635+ ] # TODO: multiple workers for this?
634636 future_refinement_results = executor .submit (ai_service_client .optimize_python_code_refinement , request = request )
635637 concurrent .futures .wait ([future_refinement_results ])
636638 return future_refinement_results .result ()
0 commit comments