Currently the effective dipolar evolution time vector is interpolated on every run of dipolar kernal even though it never changes. Interpolation should be avoid as much as possible as it is very slow in Python. This interpolation is now cached so it only done once per pathway.
A significant speed up of the dipolar kernal
Currently the effective dipolar evolution time vector is interpolated on every run of dipolar kernal even though it never changes. Interpolation should be avoid as much as possible as it is very slow in Python. This interpolation is now cached so it only done once per pathway.
Speedup: (Using CVXOPT nnlssolver) 9.0s -> 7.9s 10% faster (Using quadprog nnlssolver) 2.8s -> 2.2s 20 % faster
CProfile (using quadprog): Before:
After: