perf: reduce Java E2E looping time to 5s and cache runtime JAR build
Make TOTAL_LOOPING_TIME configurable via CODEFLASH_LOOPING_TIME env var (defaults to 10s). Set to 5s in Java E2E CI jobs to cut verification time per candidate. Also cache the codeflash-runtime JAR keyed on source hash to skip mvn install when unchanged.
This commit is contained in:
parent
151df774a4
commit
ecf4e63eca
2 changed files with 11 additions and 1 deletions
9
.github/workflows/ci.yaml
vendored
9
.github/workflows/ci.yaml
vendored
|
|
@ -436,6 +436,7 @@ jobs:
|
|||
RETRY_DELAY: 5
|
||||
EXPECTED_IMPROVEMENT_PCT: ${{ matrix.expected_improvement }}
|
||||
CODEFLASH_END_TO_END: 1
|
||||
CODEFLASH_LOOPING_TIME: 5
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
|
|
@ -469,7 +470,15 @@ jobs:
|
|||
- name: Install dependencies
|
||||
run: uv sync
|
||||
|
||||
- name: Cache codeflash-runtime JAR
|
||||
id: runtime-jar-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.m2/repository/io/codeflash
|
||||
key: codeflash-runtime-${{ hashFiles('codeflash-java-runtime/pom.xml', 'codeflash-java-runtime/src/**') }}
|
||||
|
||||
- name: Build and install codeflash-runtime JAR
|
||||
if: steps.runtime-jar-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cd codeflash-java-runtime
|
||||
mvn install -q -DskipTests
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from enum import Enum
|
||||
from typing import Any, Union
|
||||
|
||||
|
|
@ -17,7 +18,7 @@ MIN_CONCURRENCY_IMPROVEMENT_THRESHOLD = 0.20 # 20% concurrency ratio improvemen
|
|||
CONCURRENCY_FACTOR = 10 # Number of concurrent executions for concurrency benchmark
|
||||
MAX_TEST_FUNCTION_RUNS = 50
|
||||
MAX_CUMULATIVE_TEST_RUNTIME_NANOSECONDS = 100e6 # 100ms
|
||||
TOTAL_LOOPING_TIME = 10.0 # 10 second candidate benchmarking budget
|
||||
TOTAL_LOOPING_TIME = float(os.getenv("CODEFLASH_LOOPING_TIME", "10.0")) # candidate benchmarking budget (seconds)
|
||||
COVERAGE_THRESHOLD = 60.0
|
||||
MIN_TESTCASE_PASSED_THRESHOLD = 6
|
||||
REPEAT_OPTIMIZATION_PROBABILITY = 0.1
|
||||
|
|
|
|||
Loading…
Reference in a new issue