Calibrater performance enhancements: SS3
G. Moellenbrock
This target refers mainly to the CalTable write improvements which are
required. However, I (finally) checked in an improvement to
VisBuffer/VisEquation which improves solve performance for multi-channel
datasets. In the VisBuffers used by the solver (correctedvb and
corruptedvb), the relevant data is stored in visibility(), but as these
VBs are filled, the modelVisibility() in corrupted contains the model
data. After is is copied to visibility() (and optionally averaged), the
modelVisibility() member was hanging around and being copied etc. Now,
this member is deleted in both VBs before they are used in the core
solver. I hope to consolidate the data/model VBs in to one VisBuffer in
the near future, which will further reduce object copy expense in the core
solver (this is less important and thus lower in priority than the
CalTable write issues, though it will permit several generalizations in
the calibrater tool, including making spline/poly work for dual
polarization as well as other parameterized solvers).