|
| 1 | +Cut the per-PR smoke gate's three slowest entries: py3.12 leg 553.0s → 301.3s |
| 2 | +(5m01s, 22/22), py3.13 351.1s — acceptance (<~6 min) met with margin and |
| 3 | +without demoting point.py. Decisions were measurement-driven (CI-equivalent |
| 4 | +env rebuilt in-session: py3.12 venv, source-chain install, smoke-profile env). |
| 5 | + |
| 6 | +- issue: https://github.com/PyAutoLabs/autolens_workspace_test/issues/267 |
| 7 | + (CLOSED completed 2026-08-23 on merge) |
| 8 | +- workspace-pr: autolens_workspace_test#269 (MERGED 2026-08-23, merge a6965a5, |
| 9 | + single commit a9f9c27; 5 files, +230/−160) |
| 10 | +- per script: imaging/subhalo_recovery.py 120.7→13.2s CI (split — one-shot |
| 11 | + stays on the gate; warm-started iterative-LM leg → new |
| 12 | + subhalo_recovery_iterative.py, weekly/release only, and the unasserted ~18s |
| 13 | + iter_fit.log_evidence() print was dropped in the move); misc/database/scrape/ |
| 14 | + general.py 63.4s → demoted (smoke_tests.txt comment names weekly |
| 15 | + workspace-smoke.yml + release-integrate; the misc/aggregator trio keeps the |
| 16 | + scrape/aggregator API on the gate under test-mode fixtures); |
| 17 | + point_source/jax_likelihood/point.py 47.7→22.7s (FitPositionsImagePairAllSolved |
| 18 | + block removed — image_plane.py pins the same coverage on the weekly channel; |
| 19 | + base literal untouched, no re-pins). |
| 20 | +- why the split was safe: phase-timed the script — the iterative leg was ~81% |
| 21 | + of runtime and reproduced the one-shot dkappa metrics to 3 d.p. (corr 0.8233 |
| 22 | + vs 0.8228, same 0.06" peak dist) — a stationarity confirmation, not |
| 23 | + independent discrimination; the iterative engine class stays PR-gated via |
| 24 | + interferometer/subhalo_recovery_interferometer.py (n_iter=5 cold start). |
| 25 | +- measured dead ends (don't re-derive): sim grid 120→100 leaves the S/N-driven |
| 26 | + arc mask at ~5860 px (no gain); dpsi mesh factor 2→3 and arc-mask threshold |
| 27 | + 3→4 change nothing — the cost is the dense data x source algebra, not the |
| 28 | + dpsi dimension. point.py is compile-dominated (44s of 55s XLA; likelihood |
| 29 | + evals 0.03s) and 10x looser solver precision bought only ~15% — XLA cost is |
| 30 | + a per-program floor, not refinement depth. |
| 31 | +- discrimination demos (constraint 1, recorded on the PR): no-subhalo |
| 32 | + simulation → corr −0.017 vs the 0.5 threshold (AssertionError); |
| 33 | + pixel_scale_precision 0.001→0.01 → likelihood −83.5433 vs pinned −83.3805, |
| 34 | + rel 2.0e-3 vs rtol 1e-4 (AssertionError). |
| 35 | +- notes: gate is 22 entries now; new slowest is imaging/jax_likelihood/ |
| 36 | + rectangular.py at 31.8s (the flat tail the prompt says not to chase). The |
| 37 | + sibling gate-frequency prompt (draft/test/pyautoheart/smoke_relevance_gate.md) |
| 38 | + is untouched and separate. Remote session (no worktree); implementation |
| 39 | + delegated to an execution-tier subagent, reviewed before push; remote |
| 40 | + feature branch feature/smoke-gate-slowest-scripts not deleted (post-merge |
| 41 | + cleanup pending, /repo_cleanup). |
| 42 | + |
| 43 | +## Original prompt |
| 44 | + |
1 | 45 | # Speed up the three slowest autolens_workspace_test smoke-gate scripts |
2 | 46 |
|
3 | 47 | Type: test |
|
0 commit comments