lnls-fac / apsuite

Accelerator Physics suite
MIT License
1 stars 2 forks source link

Commislib improvements #210

Closed murilobalves closed 1 year ago

murilobalves commented 1 year ago

Following suggestions raised during machine studies, this PR proposes the following changes:

speed improvement running the following code on lnls449-linux (control-room pc):

from apsuite.optics_analysis.coupling_correction import CouplingCorr
from pymodels import si
mod = si.create_accelerator()
mod = si.fitted_models.vertical_dispersion_and_coupling(mod)
coup = CouplingCorr(mod, 'SI')
idx = [idx for idx, name in enumerate(coup.respm.fam_data['QS']['devnames']) if 'M' in name]
coup.skew_idx = [coup.skew_idx[i] for i in idx]
%timeit coup.calc_jacobian_matrix()

Results:

old code: 52.8 s +- 1.02 s per loop
new code: 9.73 s +- 315 ms per loop