History

Cap benchmark follow-up pass override for perf safety

Cursor Agent committed 9 months ago

Commit 0afaeeb1 parent 073c1152 files · +12 −1Browse files

Unified · Split

2 files
  1. apps/desktop/src/perfConfig.test.ts +9 −0
  2. apps/desktop/src/perfConfig.ts +3 −1
apps/desktop/src/perfConfig.test.ts+9−0
@@ -161,6 +161,15 @@ describe("resolveBenchmarkFollowUpPassCount", () => { · 160 unmodified lines
161 ).toBe(0);161 ).toBe(0);
162 });162 });
163 163
164 it("caps explicit overrides to avoid runaway workload", () => {
165 expect(
166 resolveBenchmarkFollowUpPassCount({
167 T3CODE_DESKTOP_PERF_BENCHMARK_FOLLOW_UP_PASSES: "99",
168 CI: "false",
169 }),
170 ).toBe(5);
171 });
172
164 it("ignores malformed overrides and falls back to CI default", () => {173 it("ignores malformed overrides and falls back to CI default", () => {
165 expect(174 expect(
166 resolveBenchmarkFollowUpPassCount({175 resolveBenchmarkFollowUpPassCount({
apps/desktop/src/perfConfig.ts+3−1
@@ -15,6 +15,7 @@ type PerfBenchmarkEnv = { · 14 unmodified lines
15 15
16const TRUE_VALUES = new Set(["1", "true", "yes", "on"]);16const TRUE_VALUES = new Set(["1", "true", "yes", "on"]);
17const FALSE_VALUES = new Set(["0", "false", "no", "off"]);17const FALSE_VALUES = new Set(["0", "false", "no", "off"]);
18const MAX_BENCHMARK_FOLLOW_UP_PASSES = 5;
18 19
19function parseBooleanLike(value: string | undefined): boolean | null {20function parseBooleanLike(value: string | undefined): boolean | null {
20 const normalized = value?.trim().toLowerCase();21 const normalized = value?.trim().toLowerCase();
@@ -54,7 +55,8 @@ export function shouldRunOptionalRendererPerfInteractions(env: OptionalRendererT · 33 unmodified lines
54export function resolveBenchmarkFollowUpPassCount(env: PerfBenchmarkEnv): number {55export function resolveBenchmarkFollowUpPassCount(env: PerfBenchmarkEnv): number {
55 const raw = env.T3CODE_DESKTOP_PERF_BENCHMARK_FOLLOW_UP_PASSES?.trim();56 const raw = env.T3CODE_DESKTOP_PERF_BENCHMARK_FOLLOW_UP_PASSES?.trim();
56 if (raw && /^\d+$/.test(raw)) {57 if (raw && /^\d+$/.test(raw)) {
57 return Number.parseInt(raw, 10);58 const parsed = Number.parseInt(raw, 10);
59 return Math.min(parsed, MAX_BENCHMARK_FOLLOW_UP_PASSES);
58 }60 }
59 return isCiEnvironment(env.CI) ? 0 : 1;61 return isCiEnvironment(env.CI) ? 0 : 1;
60}62}