From c6f61d4956192f135fc4007a1c4fd0d88ea25733 Mon Sep 17 00:00:00 2001 From: Kevin Longe <273747162+kvlonge@users.noreply.github.com> Date: Wed, 23 Sep 2026 07:35:34 +0100 Subject: [PATCH 1/2] test: recalibrate fresh-process cache budgets from two CI runs --- ..._fresh_process_compile_cache_performance.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py b/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py index 22d912067d..894af7ca4e 100644 --- a/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py +++ b/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py @@ -42,9 +42,9 @@ macro_count=500, test_count=2_945, audit_count=5_056, - expected_cold_max_wall_seconds=12.5, - expected_warm_max_wall_seconds=6.5, - expected_edit_max_wall_seconds=6.0, + expected_cold_max_wall_seconds=13.5, + expected_warm_max_wall_seconds=6.75, + expected_edit_max_wall_seconds=6.5, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=96 * _MIB, @@ -73,9 +73,9 @@ macro_count=834, test_count=4_908, audit_count=8_427, - expected_cold_max_wall_seconds=24.0, - expected_warm_max_wall_seconds=14.0, - expected_edit_max_wall_seconds=12.5, + expected_cold_max_wall_seconds=23.5, + expected_warm_max_wall_seconds=13.5, + expected_edit_max_wall_seconds=12.0, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=160 * _MIB, @@ -104,9 +104,9 @@ macro_count=1_667, test_count=9_816, audit_count=16_855, - expected_cold_max_wall_seconds=37.5, - expected_warm_max_wall_seconds=20.0, - expected_edit_max_wall_seconds=18.0, + expected_cold_max_wall_seconds=39.0, + expected_warm_max_wall_seconds=21.5, + expected_edit_max_wall_seconds=18.5, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=320 * _MIB, From 63ebd6b159f42992a1c8884d3eb600c06bedcfec Mon Sep 17 00:00:00 2001 From: Kevin Longe <273747162+kvlonge@users.noreply.github.com> Date: Wed, 23 Sep 2026 08:43:26 +0100 Subject: [PATCH 2/2] test: stabilize fresh-process cache guards with ratio checks --- .../cli/commands/main/compile/_test_types.py | 1 + ...fresh_process_compile_cache_performance.py | 22 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/tests/e2e/src/sqlbuild/cli/commands/main/compile/_test_types.py b/tests/e2e/src/sqlbuild/cli/commands/main/compile/_test_types.py index 3c09a4ca08..168c186a49 100644 --- a/tests/e2e/src/sqlbuild/cli/commands/main/compile/_test_types.py +++ b/tests/e2e/src/sqlbuild/cli/commands/main/compile/_test_types.py @@ -138,6 +138,7 @@ class FreshProcessCompileCachePerformanceGuardTestCase: expected_warm_max_wall_seconds: float expected_edit_max_wall_seconds: float expected_max_warm_to_cold_ratio: float + expected_max_edit_to_cold_ratio: float expected_max_rss_bytes: int expected_max_cache_bytes: int expected_cold_fingerprint: str diff --git a/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py b/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py index 894af7ca4e..265738965a 100644 --- a/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py +++ b/tests/e2e/src/sqlbuild/cli/commands/main/compile/test_fresh_process_compile_cache_performance.py @@ -25,7 +25,8 @@ _LOGGER: logging.Logger = logging.getLogger(__name__) _GIB: int = 1024 * 1024 * 1024 _MIB: int = 1024 * 1024 -_MAX_WARM_TO_COLD_RATIO: float = 0.67 +_MAX_WARM_TO_COLD_RATIO: float = 0.65 +_MAX_EDIT_TO_COLD_RATIO: float = 0.60 @pytest.mark.performance @@ -42,10 +43,11 @@ macro_count=500, test_count=2_945, audit_count=5_056, - expected_cold_max_wall_seconds=13.5, - expected_warm_max_wall_seconds=6.75, - expected_edit_max_wall_seconds=6.5, + expected_cold_max_wall_seconds=14.5, + expected_warm_max_wall_seconds=8.25, + expected_edit_max_wall_seconds=7.25, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, + expected_max_edit_to_cold_ratio=_MAX_EDIT_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=96 * _MIB, expected_cold_fingerprint=( @@ -77,6 +79,7 @@ expected_warm_max_wall_seconds=13.5, expected_edit_max_wall_seconds=12.0, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, + expected_max_edit_to_cold_ratio=_MAX_EDIT_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=160 * _MIB, expected_cold_fingerprint=( @@ -104,10 +107,11 @@ macro_count=1_667, test_count=9_816, audit_count=16_855, - expected_cold_max_wall_seconds=39.0, - expected_warm_max_wall_seconds=21.5, - expected_edit_max_wall_seconds=18.5, + expected_cold_max_wall_seconds=42.5, + expected_warm_max_wall_seconds=24.5, + expected_edit_max_wall_seconds=22.0, expected_max_warm_to_cold_ratio=_MAX_WARM_TO_COLD_RATIO, + expected_max_edit_to_cold_ratio=_MAX_EDIT_TO_COLD_RATIO, expected_max_rss_bytes=2 * _GIB, expected_max_cache_bytes=320 * _MIB, expected_cold_fingerprint=( @@ -187,6 +191,10 @@ def test_given_semantic_project_when_compiling_across_processes_then_cache_is_in ) for measurement in (result.leaf_edit, result.macro_edit): assert measurement.elapsed_seconds < test_case.expected_edit_max_wall_seconds + assert ( + measurement.elapsed_seconds / result.cold.elapsed_seconds + <= test_case.expected_max_edit_to_cold_ratio + ) assert result.project_config_edit.elapsed_seconds < test_case.expected_cold_max_wall_seconds assert result.cache_bytes < test_case.expected_max_cache_bytes