Make predict and apply beam use cached time directions
As available in the latest version of the everybeam to date 0.5.8 it is possible to cache the computation of the station north celestial pole.
In this merge request this functionality is made available and the backwards compatibility is preserved.
Such change results in a test dataset the following speedup:
Timings with lock on get for AipsrcValue<T>::get and AipsrcValue<bool>::getE
Gain cal 2051 s
1722 s predict
313 s reordering
9s computing gains and residuals
13 ms in writing solutions to disk
Timings without lock on get for AipsrcValue<T> and AipsrcValue<bool>
Gain cal 1717 s
1366 s predict
320 s reordering
11 s computing gains and residuals
13 ms in writing solutions to disk
Timings with erfa and caching time dependent parameters
GainCal 533 s.
244 s predict
271 s reordering
12 s computing gains and residuals
8 ms in writing solutions to disk
Timings with casacore caching NCP and NCP_pol0
Total DP3 time 699.31 real 15999.5 user 994 system
0.9% ( 5992 ms) MSReader
98.6% ( 689 s) GainCal gaincal.
39.1% ( 269 s) of it spent in predict
41.1% ( 283 s) of it spent in reordering visibility data
19.3% ( 133 s) of it spent in estimating gains and computing residuals
0.0% ( 8 ms) of it spent in writing gain solutions to disk
Converged: 0, stalled: 0, non converged: 500, failed: 0
Iters converged: 0, stalled: 0, non converged: 50, failed: 0
0.7% ( 4577 ms) MSWriter msout.
35.1% ( 1606 ms) Creating task
432.7% ( 19 s) Writing (threaded)