Skip to content

Commit ebe4f25

Browse files
committed
implement can be optimized
1 parent f52ada5 commit ebe4f25

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

codeflash/optimization/function_optimizer.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def __init__(
144144
self.total_benchmark_timings = total_benchmark_timings if total_benchmark_timings else {}
145145
self.replay_tests_dir = replay_tests_dir if replay_tests_dir else None
146146

147-
def optimize_function(self) -> Result[BestOptimization, str]: # noqa: PLR0911
147+
def can_be_optimized(self) -> Result[tuple[bool, CodeOptimizationContext, dict[Path, str]], str]:
148148
should_run_experiment = self.experiment_id is not None
149149
logger.debug(f"Function Trace ID: {self.function_trace_id}")
150150
ph("cli-optimize-function-start", {"function_trace_id": self.function_trace_id})
@@ -171,6 +171,15 @@ def optimize_function(self) -> Result[BestOptimization, str]: # noqa: PLR0911
171171
):
172172
return Failure("Function optimization previously attempted, skipping.")
173173

174+
return Success((should_run_experiment, code_context, original_helper_code))
175+
176+
def optimize_function(self) -> Result[BestOptimization, str]:
177+
initialization_result = self.can_be_optimized()
178+
if not is_successful(initialization_result):
179+
return Failure(initialization_result.failure())
180+
181+
should_run_experiment, code_context, original_helper_code = initialization_result.unwrap()
182+
174183
code_print(code_context.read_writable_code)
175184
generated_test_paths = [
176185
get_test_file_path(

0 commit comments

Comments
 (0)