- Persist and remove the seeded run parent directory after perf runs - Add regression coverage for seed cleanup, percentile clamping, and RAF reset
Showing the changes to test (2 of 10 files). Show all
Unified · Split
| @@ -68,7 +68,10 @@ export function percentile(values: ReadonlyArray<number>, target: number): numbe · 67 unmodified lines | ||
| 68 | 68 | } |
| 69 | 69 | const sorted = values.toSorted((left, right) => left - right); |
| 70 | 70 | const clampedTarget = Math.min(Math.max(target, 0), 1); |
| 71 | − const index = Math.min(sorted.length - 1, Math.ceil(sorted.length * clampedTarget) - 1); | |
| 71 | + const index = Math.min( | |
| 72 | + sorted.length - 1, | |
| 73 | + Math.max(0, Math.ceil(sorted.length * clampedTarget) - 1), | |
| 74 | + ); | |
| 72 | 75 | return sorted[index] ?? null; |
| 73 | 76 | } |
| 74 | 77 | |
| @@ -30,15 +30,16 @@ export function installBrowserPerfCollector( · 29 unmodified lines | ||
| 30 | 30 | const rafGapsMs: number[] = []; |
| 31 | 31 | const mountedRowSamples: Array<BrowserPerfMetrics["mountedRowSamples"][number]> = []; |
| 32 | 32 | let previousAnimationFrameTs = 0; |
| 33 | + let rafHandle = 0; | |
| 33 | 34 | |
| 34 | 35 | const animationFrameLoop = (timestampMs: number) => { |
| 35 | 36 | if (previousAnimationFrameTs > 0) { |
| 36 | 37 | rafGapsMs.push(timestampMs - previousAnimationFrameTs); |
| 37 | 38 | } |
| 38 | 39 | previousAnimationFrameTs = timestampMs; |
| 39 | − window.requestAnimationFrame(animationFrameLoop); | |
| 40 | + rafHandle = window.requestAnimationFrame(animationFrameLoop); | |
| 40 | 41 | }; |
| 41 | − window.requestAnimationFrame(animationFrameLoop); | |
| 42 | + rafHandle = window.requestAnimationFrame(animationFrameLoop); | |
| 42 | 43 | |
| 43 | 44 | if (typeof PerformanceObserver !== "undefined") { |
| 44 | 45 | try { |
| @@ -103,7 +104,8 @@ export function installBrowserPerfCollector( · 58 unmodified lines | ||
| 103 | 104 | rafGapsMs.length = 0; |
| 104 | 105 | mountedRowSamples.length = 0; |
| 105 | 106 | previousAnimationFrameTs = 0; |
| 106 | − window.requestAnimationFrame(animationFrameLoop); | |
| 107 | + window.cancelAnimationFrame(rafHandle); | |
| 108 | + rafHandle = window.requestAnimationFrame(animationFrameLoop); | |
| 107 | 109 | }, |
| 108 | 110 | }; |
| 109 | 111 | } |