|
78 | 78 | AdaptiveOptimizedCandidate, |
79 | 79 | AIServiceAdaptiveOptimizeRequest, |
80 | 80 | AIServiceCodeRepairRequest, |
| 81 | + AIServiceRefinerRequest, |
81 | 82 | BestOptimization, |
82 | 83 | CandidateEvaluationContext, |
83 | 84 | GeneratedTests, |
@@ -1277,30 +1278,28 @@ def process_single_candidate( |
1277 | 1278 | self.future_adaptive_optimizations.append(future_adaptive_optimization) |
1278 | 1279 | else: |
1279 | 1280 | # Refinement for all languages (Python, JavaScript, TypeScript) |
1280 | | - # future_refinement = self.executor.submit( |
1281 | | - # aiservice_client.optimize_code_refinement, |
1282 | | - # request=[ |
1283 | | - # AIServiceRefinerRequest( |
1284 | | - # optimization_id=best_optimization.candidate.optimization_id, |
1285 | | - # original_source_code=code_context.read_writable_code.markdown, |
1286 | | - # read_only_dependency_code=code_context.read_only_context_code, |
1287 | | - # original_code_runtime=original_code_baseline.runtime, |
1288 | | - # optimized_source_code=best_optimization.candidate.source_code.markdown, |
1289 | | - # optimized_explanation=best_optimization.candidate.explanation, |
1290 | | - # optimized_code_runtime=best_optimization.runtime, |
1291 | | - # speedup=f"{int(performance_gain(original_runtime_ns=original_code_baseline.runtime, optimized_runtime_ns=best_optimization.runtime) * 100)}%", |
1292 | | - # trace_id=self.get_trace_id(exp_type), |
1293 | | - # original_line_profiler_results=original_code_baseline.line_profile_results["str_out"], |
1294 | | - # optimized_line_profiler_results=best_optimization.line_profiler_test_results["str_out"], |
1295 | | - # function_references=function_references, |
1296 | | - # language=self.function_to_optimize.language, |
1297 | | - # language_version=self.language_support.language_version, |
1298 | | - # ) |
1299 | | - # ], |
1300 | | - # rerun_trace_id=self.rerun_trace_id, |
1301 | | - # ) |
1302 | | - future_refinement = concurrent.futures.Future() |
1303 | | - future_refinement.set_result([]) |
| 1281 | + future_refinement = self.executor.submit( |
| 1282 | + aiservice_client.optimize_code_refinement, |
| 1283 | + request=[ |
| 1284 | + AIServiceRefinerRequest( |
| 1285 | + optimization_id=best_optimization.candidate.optimization_id, |
| 1286 | + original_source_code=code_context.read_writable_code.markdown, |
| 1287 | + read_only_dependency_code=code_context.read_only_context_code, |
| 1288 | + original_code_runtime=original_code_baseline.runtime, |
| 1289 | + optimized_source_code=best_optimization.candidate.source_code.markdown, |
| 1290 | + optimized_explanation=best_optimization.candidate.explanation, |
| 1291 | + optimized_code_runtime=best_optimization.runtime, |
| 1292 | + speedup=f"{int(performance_gain(original_runtime_ns=original_code_baseline.runtime, optimized_runtime_ns=best_optimization.runtime) * 100)}%", |
| 1293 | + trace_id=self.get_trace_id(exp_type), |
| 1294 | + original_line_profiler_results=original_code_baseline.line_profile_results["str_out"], |
| 1295 | + optimized_line_profiler_results=best_optimization.line_profiler_test_results["str_out"], |
| 1296 | + function_references=function_references, |
| 1297 | + language=self.function_to_optimize.language, |
| 1298 | + language_version=self.language_support.language_version, |
| 1299 | + ) |
| 1300 | + ], |
| 1301 | + rerun_trace_id=self.rerun_trace_id, |
| 1302 | + ) |
1304 | 1303 | self.future_all_refinements.append(future_refinement) |
1305 | 1304 |
|
1306 | 1305 | # Display runtime information |
@@ -1347,26 +1346,23 @@ def determine_best_candidate( |
1347 | 1346 | ai_service_client = self.aiservice_client if exp_type == "EXP0" else self.local_aiservice_client |
1348 | 1347 | assert ai_service_client is not None, "AI service client must be set for optimization" |
1349 | 1348 |
|
1350 | | - # future_line_profile_results = self.executor.submit( |
1351 | | - # ai_service_client.optimize_python_code_line_profiler, |
1352 | | - # source_code=code_context.read_writable_code.markdown, |
1353 | | - # dependency_code=code_context.read_only_context_code, |
1354 | | - # trace_id=self.get_trace_id(exp_type), |
1355 | | - # line_profiler_results=original_code_baseline.line_profile_results["str_out"], |
1356 | | - # n_candidates=get_effort_value(EffortKeys.N_OPTIMIZER_LP_CANDIDATES, self.effort), |
1357 | | - # experiment_metadata=ExperimentMetadata( |
1358 | | - # id=self.experiment_id, group="control" if exp_type == "EXP0" else "experiment" |
1359 | | - # ) |
1360 | | - # if self.experiment_id |
1361 | | - # else None, |
1362 | | - # is_numerical_code=self.is_numerical_code and not self.args.no_jit_opts, |
1363 | | - # language=self.function_to_optimize.language, |
1364 | | - # language_version=self.language_support.language_version, |
1365 | | - # rerun_trace_id=self.rerun_trace_id, |
1366 | | - # ) |
1367 | | - |
1368 | | - future_line_profile_results = concurrent.futures.Future() |
1369 | | - future_line_profile_results.set_result([]) |
| 1349 | + future_line_profile_results = self.executor.submit( |
| 1350 | + ai_service_client.optimize_python_code_line_profiler, |
| 1351 | + source_code=code_context.read_writable_code.markdown, |
| 1352 | + dependency_code=code_context.read_only_context_code, |
| 1353 | + trace_id=self.get_trace_id(exp_type), |
| 1354 | + line_profiler_results=original_code_baseline.line_profile_results["str_out"], |
| 1355 | + n_candidates=get_effort_value(EffortKeys.N_OPTIMIZER_LP_CANDIDATES, self.effort), |
| 1356 | + experiment_metadata=ExperimentMetadata( |
| 1357 | + id=self.experiment_id, group="control" if exp_type == "EXP0" else "experiment" |
| 1358 | + ) |
| 1359 | + if self.experiment_id |
| 1360 | + else None, |
| 1361 | + is_numerical_code=self.is_numerical_code and not self.args.no_jit_opts, |
| 1362 | + language=self.function_to_optimize.language, |
| 1363 | + language_version=self.language_support.language_version, |
| 1364 | + rerun_trace_id=self.rerun_trace_id, |
| 1365 | + ) |
1370 | 1366 |
|
1371 | 1367 | normalized_original = self.language_support.normalize_code(code_context.read_writable_code.flat.strip()) |
1372 | 1368 | processor = CandidateProcessor( |
|
0 commit comments