At the very heart of all evaluation, interpolation and approximation schemes in splipy lies the basis function evaluation contained in BSplineBasis.evaluate. In this commit, this function is moved to a compiled language "cython" which greatly increases its speed at the cost of generality.
I'm opening a PR on this for increased visibility, but I do not plan to merge this on trunk anytime soon.
Limitations
This only works on linux platforms which is why it was never released officially on pip
Advantages
The speedup of cython evaluation when compared to the old pure python counterpart is a factor 100x as is seen when running benchmarks through pytest:
Overview
At the very heart of all evaluation, interpolation and approximation schemes in splipy lies the basis function evaluation contained in
BSplineBasis.evaluate
. In this commit, this function is moved to a compiled language "cython" which greatly increases its speed at the cost of generality.I'm opening a PR on this for increased visibility, but I do not plan to merge this on trunk anytime soon.
Limitations
This only works on linux platforms which is why it was never released officially on pip
Advantages
The speedup of cython evaluation when compared to the old pure python counterpart is a factor 100x as is seen when running benchmarks through pytest: