@@ -235,8 +235,7 @@ def optimize_function(self) -> Result[BestOptimization, str]:
235235 # request for new optimizations but don't block execution, check for completion later
236236 # adding to control and experiment set but with same traceid
237237 best_optimization = None
238- run_experiment = self .experiment_id is not None
239- for _u , (candidates ,exp_type ) in enumerate (zip ([optimizations_set .control , optimizations_set .experiment ],["EXP0" ,"EXP1" ])):
238+ for _u , (candidates , exp_type ) in enumerate (zip ([optimizations_set .control , optimizations_set .experiment ],["EXP0" ,"EXP1" ])):
240239 if candidates is None :
241240 continue
242241
@@ -247,7 +246,6 @@ def optimize_function(self) -> Result[BestOptimization, str]:
247246 original_helper_code = original_helper_code ,
248247 file_path_to_helper_classes = file_path_to_helper_classes ,
249248 exp_type = exp_type ,
250- run_experiment = run_experiment ,
251249 )
252250 ph ("cli-optimize-function-finished" , {"function_trace_id" : self .function_trace_id })
253251
@@ -349,7 +347,6 @@ def determine_best_candidate(
349347 original_helper_code : dict [Path , str ],
350348 file_path_to_helper_classes : dict [Path , set [str ]],
351349 exp_type : str ,
352- run_experiment : bool
353350 ) -> BestOptimization | None :
354351 best_optimization : BestOptimization | None = None
355352 best_runtime_until_now = original_code_baseline .runtime
@@ -367,18 +364,18 @@ def determine_best_candidate(
367364 # Start a new thread for AI service request, start loop in main thread
368365 # check if aiservice request is complete, when it is complete, append result to the candidates list
369366 with concurrent .futures .ThreadPoolExecutor (max_workers = 2 ) as executor :
367+ ai_service_client = self .local_aiservice_client if self .experiment_id else self .aiservice_client
370368 future_line_profile_results = executor .submit (
371- self . aiservice_client .optimize_python_code_line_profiler ,
369+ ai_service_client .optimize_python_code_line_profiler ,
372370 source_code = code_context .read_writable_code ,
373371 dependency_code = code_context .read_only_context_code ,
374- trace_id = self .function_trace_id [:- 4 ] + exp_type if run_experiment else self .function_trace_id ,
372+ trace_id = self .function_trace_id [:- 4 ] + exp_type if self . experiment_id else self .function_trace_id ,
375373 line_profiler_results = original_code_baseline .line_profile_results ["str_out" ],
376374 num_candidates = 10 ,
377- experiment_metadata = None ,
375+ experiment_metadata = ExperimentMetadata ( id = self . experiment_id , group = "control" if exp_type == "EXP0" else "experiment" ) if self . experiment_id else None ,
378376 )
379377 try :
380378 candidate_index = 0
381- done = False
382379 original_len = len (candidates )
383380 while candidates :
384381 done = True if future_line_profile_results is None else future_line_profile_results .done ()
0 commit comments