Skip to content

Commit 1cf73c3

Browse files
authored
Merge branch 'main' into fix-benchmark-prompt
2 parents d1471b6 + e266864 commit 1cf73c3

File tree

5 files changed

+17
-3
lines changed

5 files changed

+17
-3
lines changed

.github/workflows/end-to-end-test-init-optim.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
COLUMNS: 110
2121
MAX_RETRIES: 3
2222
RETRY_DELAY: 5
23-
EXPECTED_IMPROVEMENT_PCT: 300
23+
EXPECTED_IMPROVEMENT_PCT: 30
2424
CODEFLASH_END_TO_END: 1
2525
steps:
2626
- name: 🛎️ Checkout

codeflash/api/aiservice.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import annotations
22

3+
import time
4+
35
import json
46
import os
57
import platform
@@ -95,6 +97,7 @@ def optimize_python_code(
9597
- List[OptimizationCandidate]: A list of Optimization Candidates.
9698
9799
"""
100+
start_time = time.perf_counter()
98101
payload = {
99102
"source_code": source_code,
100103
"dependency_code": dependency_code,
@@ -118,6 +121,8 @@ def optimize_python_code(
118121
optimizations_json = response.json()["optimizations"]
119122
logger.info(f"Generated {len(optimizations_json)} candidates.")
120123
console.rule()
124+
end_time = time.perf_counter()
125+
logger.debug(f"Optimization took {end_time - start_time:.2f} seconds.")
121126
return [
122127
OptimizedCandidate(
123128
source_code=opt["source_code"],

codeflash/verification/concolic_testing.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import annotations
22

3+
import time
4+
35
import ast
46
import subprocess
57
import tempfile
@@ -20,6 +22,7 @@
2022
def generate_concolic_tests(
2123
test_cfg: TestConfig, args: Namespace, function_to_optimize: FunctionToOptimize, function_to_optimize_ast: ast.AST
2224
) -> tuple[dict[str, list[FunctionCalledInTest]], str]:
25+
start_time = time.perf_counter()
2326
function_to_concolic_tests = {}
2427
concolic_test_suite_code = ""
2528
if (
@@ -84,4 +87,6 @@ def generate_concolic_tests(
8487
else:
8588
logger.debug(f"Error running CrossHair Cover {': ' + cover_result.stderr if cover_result.stderr else '.'}")
8689
console.rule()
90+
end_time = time.perf_counter()
91+
logger.debug(f"Generated concolic tests in {end_time - start_time:.2f} seconds")
8792
return function_to_concolic_tests, concolic_test_suite_code

codeflash/verification/verifier.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import annotations
22

3+
import time
4+
35
import ast
46
from pathlib import Path
57
from typing import TYPE_CHECKING
@@ -29,6 +31,7 @@ def generate_tests(
2931
) -> tuple[str, str, Path] | None:
3032
# TODO: Sometimes this recreates the original Class definition. This overrides and messes up the original
3133
# class import. Remove the recreation of the class definition
34+
start_time = time.perf_counter()
3235
test_module_path = Path(module_name_from_file_path(test_path, test_cfg.tests_project_rootdir))
3336
response = aiservice_client.generate_regression_tests(
3437
source_code_being_tested=source_code_being_tested,
@@ -54,7 +57,8 @@ def generate_tests(
5457
else:
5558
logger.warning(f"Failed to generate and instrument tests for {function_to_optimize.function_name}")
5659
return None
57-
60+
end_time = time.perf_counter()
61+
logger.debug(f"Generated tests in {end_time - start_time:.2f} seconds")
5862
return (
5963
generated_test_source,
6064
instrumented_behavior_test_source,

tests/scripts/end_to_end_test_init_optimization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def run_test(expected_improvement_pct: int) -> bool:
99
file_path="remove_control_chars.py",
1010
function_name="CharacterRemover.remove_control_characters",
1111
test_framework="pytest",
12-
min_improvement_x=1.0,
12+
min_improvement_x=0.3,
1313
coverage_expectations=[
1414
CoverageExpectation(
1515
function_name="CharacterRemover.remove_control_characters", expected_coverage=100.0, expected_lines=[14]

0 commit comments

Comments
 (0)