@@ -242,7 +242,9 @@ def optimize_function(self) -> Result[BestOptimization, str]:
242242 # request for new optimizations but don't block execution, check for completion later
243243 # adding to control and experiment set but with same traceid
244244 best_optimization = None
245- for _u , (candidates , exp_type ) in enumerate (zip ([optimizations_set .control , optimizations_set .experiment ],["EXP0" ,"EXP1" ])):
245+ for _u , (candidates , exp_type ) in enumerate (
246+ zip ([optimizations_set .control , optimizations_set .experiment ], ["EXP0" , "EXP1" ])
247+ ):
246248 if candidates is None :
247249 continue
248250
@@ -254,7 +256,14 @@ def optimize_function(self) -> Result[BestOptimization, str]:
254256 file_path_to_helper_classes = file_path_to_helper_classes ,
255257 exp_type = exp_type ,
256258 )
257- ph ("cli-optimize-function-finished" , {"function_trace_id" : self .function_trace_id [:- 4 ] + exp_type if self .experiment_id else self .function_trace_id })
259+ ph (
260+ "cli-optimize-function-finished" ,
261+ {
262+ "function_trace_id" : self .function_trace_id [:- 4 ] + exp_type
263+ if self .experiment_id
264+ else self .function_trace_id
265+ },
266+ )
258267
259268 generated_tests = remove_functions_from_generated_tests (
260269 generated_tests = generated_tests , test_functions_to_remove = test_functions_to_remove
@@ -324,7 +333,9 @@ def optimize_function(self) -> Result[BestOptimization, str]:
324333 explanation = explanation ,
325334 existing_tests_source = existing_tests ,
326335 generated_original_test_source = generated_tests_str ,
327- function_trace_id = self .function_trace_id [:- 4 ] + exp_type if self .experiment_id else self .function_trace_id ,
336+ function_trace_id = self .function_trace_id [:- 4 ] + exp_type
337+ if self .experiment_id
338+ else self .function_trace_id ,
328339 coverage_message = coverage_message ,
329340 git_remote = self .args .git_remote ,
330341 )
@@ -379,15 +390,19 @@ def determine_best_candidate(
379390 # Start a new thread for AI service request, start loop in main thread
380391 # check if aiservice request is complete, when it is complete, append result to the candidates list
381392 with concurrent .futures .ThreadPoolExecutor (max_workers = 2 ) as executor :
382- ai_service_client = self .aiservice_client if exp_type == "EXP0" else self .local_aiservice_client
393+ ai_service_client = self .aiservice_client if exp_type == "EXP0" else self .local_aiservice_client
383394 future_line_profile_results = executor .submit (
384395 ai_service_client .optimize_python_code_line_profiler ,
385396 source_code = code_context .read_writable_code ,
386397 dependency_code = code_context .read_only_context_code ,
387398 trace_id = self .function_trace_id [:- 4 ] + exp_type if self .experiment_id else self .function_trace_id ,
388399 line_profiler_results = original_code_baseline .line_profile_results ["str_out" ],
389400 num_candidates = 10 ,
390- experiment_metadata = ExperimentMetadata (id = self .experiment_id , group = "control" if exp_type == "EXP0" else "experiment" ) if self .experiment_id else None ,
401+ experiment_metadata = ExperimentMetadata (
402+ id = self .experiment_id , group = "control" if exp_type == "EXP0" else "experiment"
403+ )
404+ if self .experiment_id
405+ else None ,
391406 )
392407 try :
393408 candidate_index = 0
@@ -462,7 +477,7 @@ def determine_best_candidate(
462477 f"loop{ 's' if candidate_result .max_loop_count > 1 else '' } )"
463478 )
464479 tree .add (f"Speedup percentage: { perf_gain * 100 :.1f} %" )
465- tree .add (f"Speedup ratio: { perf_gain + 1 :.1f } X" )
480+ tree .add (f"Speedup ratio: { perf_gain + 1 :.3f } X" )
466481 replay_perf_gain = {}
467482 if self .args .benchmark :
468483 test_results_by_benchmark = (
@@ -528,7 +543,9 @@ def determine_best_candidate(
528543 )
529544 return best_optimization
530545
531- def log_successful_optimization (self , explanation : Explanation , generated_tests : GeneratedTestsList , exp_type : str ) -> None :
546+ def log_successful_optimization (
547+ self , explanation : Explanation , generated_tests : GeneratedTestsList , exp_type : str
548+ ) -> None :
532549 explanation_panel = Panel (
533550 f"⚡️ Optimization successful! 📄 { self .function_to_optimize .qualified_name } in { explanation .file_path } \n "
534551 f"📈 { explanation .perf_improvement_line } \n "
@@ -555,7 +572,9 @@ def log_successful_optimization(self, explanation: Explanation, generated_tests:
555572 ph (
556573 "cli-optimize-success" ,
557574 {
558- "function_trace_id" : self .function_trace_id [:- 4 ] + exp_type if self .experiment_id else self .function_trace_id ,
575+ "function_trace_id" : self .function_trace_id [:- 4 ] + exp_type
576+ if self .experiment_id
577+ else self .function_trace_id ,
559578 "speedup_x" : explanation .speedup_x ,
560579 "speedup_pct" : explanation .speedup_pct ,
561580 "best_runtime" : explanation .best_runtime_ns ,
0 commit comments