[SciPy-User] scipy interpolate.interp1d spline slowness
Wed Dec 12 17:25:02 CST 2012
Your'e absolutely right - I just omitted the other timings as they seemed small compared to the interp1d:
100 loops, best of 3: 3.89 ms per loop
%timeit tck = interpolate.splrep(x, y, s=0)
1000 loops, best of 3: 204 us per loop
It would be great if you look into this.
On 2012-12-12, at 5:25 PM, email@example.com wrote:
> On Wed, Dec 12, 2012 at 5:08 PM, Wolfgang Kerzendorf
> <firstname.lastname@example.org> wrote:
>> Hello Scipyers,
>> I've just stumbled across a problem with interpolate.interp1d:
>> import numpy as np
>> from scipy import interpolate
>> x = arange(1000)
>> y = y = np.random.random_integers(0, 900, 1000)
>> %timeit interp = interpolate.interp1d(x, y, kind='cubic')
>> 1 loops, best of 3: 3.63 s per loop
>> #the call for the interpolation is really quick afterwards (a couple ms)
>> tck = interpolate.splrep(x, y, s=0)
>> %timeit interpolate.splev(x_new, tck, der=0)
>> 100 loops, best of 3: 5.51 ms per loop
> It looks to me, you are timing two different things here, with
> interp1d you time the spline creation with splev you time the
> for "cubic", interp1d uses _fitpack._bspleval so I wouldn't expect
> much difference in timing.
> But I didn't check whether there is a difference in what the wrappers are doing
>> I do understand that these are different spline interpolations (but that's as far as my knowledge goes). I was just annoyed at the person saying: Ah, you see python is slow - which it is not as shown by the second scipy command.
>> Would it be possible to switch the spline interpolator used in interpolate.interp1d to the B-Splines, or to give an option to switch between different spline interpolators (maybe with a warning: slow).
>> Ah - a last question: Why don't you use the issues tab on the github page?
>> Thanks in advance,
>> SciPy-User mailing list
> SciPy-User mailing list
More information about the SciPy-User