Where the time in one PyAutoFit search.fit goes, and the expectation-propagation / graphical-model baselines. Producer page for the PyAutoPulse instance fit (catalogue.json, profiling-summary@2). Measurements are declared, not judged.
af.Nautilus search.fit (PyAutoFit, checkpointing and output on) · wall 28.41 s (median of 3) · 7501 likelihood calls · cpu/numpy · PyAutoFit 2026.10.12.1 · measured 2026-10-14T09:19:45Z · result row
| component | seconds | share of wall | |
|---|---|---|---|
| nn_training | 11.87 | 43.4 % | |
| checkpoint_io | 7.09 | 24.5 % | |
| bound_geometry | 5.60 | 20.4 % | |
| visualisation | 1.16 | 4.1 % | |
| sampler_bookkeeping | 0.67 | 2.3 % | |
| samples_output | 0.49 | 1.7 % | |
| likelihood | 0.32 | 1.1 % | |
| other | 0.29 | 1.0 % | |
| proposal_sampling | 0.22 | 0.8 % |
Findings-page shares (sampler_internal_shares, information only): nn_training 51.7 % (Δ -4.7 pp), bound_geometry 25.2 % (Δ -3.4 pp), likelihood 14.3 % (Δ -13.1 pp) — outside ±10 pp.
bare nautilus.Sampler (the findings page's measurement; no PyAutoFit, no checkpoint) · wall 22.53 s (median of 3) · 16400 likelihood calls · cpu/numpy · PyAutoFit 2026.10.12.1 · measured 2026-10-14T09:19:45Z · result row
| component | seconds | share of wall | |
|---|---|---|---|
| nn_training | 12.11 | 53.8 % | |
| bound_geometry | 5.80 | 25.3 % | |
| likelihood | 2.66 | 11.6 % | |
| proposal_sampling | 1.31 | 5.7 % | |
| sampler_bookkeeping | 0.70 | 3.1 % | |
| other | 0.00 | 0.0 % | |
| checkpoint_io | 0.00 | 0.0 % |
Findings-page shares (shares_of_wall, reproduction gate): nn_training 51.7 % (Δ +2.1 pp), bound_geometry 25.2 % (Δ +0.1 pp), likelihood 14.3 % (Δ -2.7 pp) — within ±10 pp.
N 1-D Gaussians sharing one centre, fitted by expectation propagation (factor_graph.optimise, per-factor DynestyStatic + Laplace cavity) and by one joint DynestyStatic graphical fit. One fresh-process fit per cell, reproduced against the committed autofit_workspace_developer baselines with the runtime-drift-2x-1ms rule (producer note, not a Pulse comparison).
| cell | wall s | committed s | ratio | drift | peak RSS MiB | truth logL sum | sanity (committed) |
|---|---|---|---|---|---|---|---|
| gaussian_1d_ep/ep/N10 | 152.9 | 566.9 | 0.27 | improved | 403 | -472.253 (match yes) | PASS (PASS) |
| gaussian_1d_ep/ep/N3 | 37.1 | 251.9 | 0.15 | improved | 353 | -128.397 (match yes) | PASS (PASS) |
| gaussian_1d_ep/ep/N30 | 842.8 | 1758.7 | 0.48 | improved | 642 | -1500.561 (match yes) | FAIL (FAIL) |
| gaussian_1d_ep/graphical/N10 | 7.1 | 50.7 | 0.14 | improved | 446 | -472.253 (match yes) | PASS (PASS) |
| gaussian_1d_ep/graphical/N3 | 6.0 | 22.8 | 0.26 | improved | 420 | -128.397 (match yes) | PASS (PASS) |
| gaussian_1d_ep/graphical/N30 | 19.0 | 132.8 | 0.14 | improved | 515 | -1500.561 (match yes) | FAIL (FAIL) |
cpu/jax/float64 · PyAutoFit df6d218f10 · host DESKTOP-H143S82.
analytic Gaussian parity: closed form | minimal EP | autofit graphical | autofit EP · wall 130.0 s · peak RSS 332 MiB · PARITY PASS (41/41) · sigma_q95 12.1536 (banked 12.15, match yes) · result row
| leg | column | cells passed | max a | max b | column s |
|---|---|---|---|---|---|
| A | minimal EP | 6/6 | 0.000 | 0.000 | 0.0 |
| A | autofit graphical | 6/6 | 0.065 | 0.058 | 24.5 |
| A | autofit EP | 6/6 | 0.000 | 0.000 | 1.9 |
| B | minimal EP | 7/7 | 0.078 | 0.146 | 0.0 |
| B | autofit graphical | 7/7 | 0.050 | 0.041 | 44.4 |
| B | autofit EP | 7/7 | 0.079 | 0.146 | 56.8 |
Parked, not run: graphical/analytic_gaussian_priors.py (NEEDS_FIX 2026-09-30 - moments projection (PyAutoFit#1656) passes the gaussian and truncated scatter families (16/16 each) but the loggaussian family misses 11/16: log-space scatter comes back at log sigma 3.28 vs mode 1.53 / reference 1.83 - TransformedMessage moments path suspected; see PyAutoMind draft/bug/autofit/ep_moments_loggaussian_transformed_scatter.md).
Rendered from 9 result rows by build_catalogue.py; evidence updated 2026-10-14T14:45:45Z.