Build: #342 was successful Changes by Patrick Bos
Code commits
Pipeline
-
Patrick Bos 9d92660b6352ae18ac6af81eabaabfe51aad8484
Pull request #1876: PIPE-3088 speedup ms zenith compute
Merge in PIPE/pipeline from PIPE-3088-speedup-ms-zenith-compute to main
* commit 'e65f1dbba5eea0d2a8b5f6c20a45e12d046cb186':
PIPE-3088: relax test tolerance for zenith distance regression test
PIPE-3088: remove redundant me.doframe(obs_pos) from inner loop
PIPE-3088: add approx regression test for compute_zd_telmjd_for_ms
PIPE-3088: speed up compute_zd_telmjd_for_ms by 1.8x
PIPE-3088: speed up compute_zd_telmjd_for_ms while preserving exact output
PIPE-3088: add regression test for compute_zd_telmjd_for_ms -
Rui Xue e65f1dbba5eea0d2a8b5f6c20a45e12d046cb186 m
PIPE-3088: relax test tolerance for zenith distance regression test
-
E. G. Patrick Bos <e.g.p.bos@rug.nl> b8dcffce28ca21b6d86efc2f77ea611604beb2a2 m
PIPE-3088: remove redundant me.doframe(obs_pos) from inner loop
The observatory position frame is already set once before all loops.
Calls to me.doframe() for the epoch type do not affect the
observatory frame, so re-doing doframe(obs_pos) on every timestamp
is unnecessary.
Timing (compute_zd_telmjd_for_ms, 50 runs, 74 timestamps):
before (d851488da): 12.629 ms per call
after (this commit): 9.204 ms per call
speedup: 1.37x (27% reduction)
Cumulative vs main (22.901 ms): 2.49x speedup
Exact output preserved (verified by test_telmjd_exact). -
E. G. Patrick Bos <e.g.p.bos@rug.nl> d851488da01839f0d7a6d2ff4b368d7c6649c944 m
PIPE-3088: add approx regression test for compute_zd_telmjd_for_ms
Also we remove the exact ZD test, which no longer passes, and replace it by the
approx test with rel=1e-10. -
E. G. Patrick Bos <egpbos@gmail.com> 3bdcf767c20a0a8275207e3a9edb3afc27ae26b1 m
PIPE-3088: speed up compute_zd_telmjd_for_ms by 1.8x
Optimizations:
- Pre-compute observatory position once instead of per iteration
- Mutate reusable epoch dict in-place instead of me.epoch() + datetime.isoformat()
- Eliminate casa_tools.quanta.quantity() and quanta.convert() calls
- Inline compute_zenith_distance to avoid function call overhead
Measured: 22.50 ms -> 12.61 ms on 74 timestamps (1 field TARGET)
Note: this commit does not pass the exact test, which is fixed in the next commit. -
E. G. Patrick Bos <e.g.p.bos@rug.nl> 681f6ad60b443200fb79c19e7ac41854d4fcdca4 m
PIPE-3088: speed up compute_zd_telmjd_for_ms while preserving exact output
Measured speedup: 22.5 ms -> 16.7 ms -
E. G. Patrick Bos <e.g.p.bos@rug.nl> 7cdbe2be3115c060421ae1fabfabf773aab012ef m
PIPE-3088: add regression test for compute_zd_telmjd_for_ms
Records exact output values from main @ c79f0ba71 (22.6743 deg at first
timestamp, 74 entries).