[Numpy-discussion] Faster
Keith Goodman
kwgoodman at gmail.com
Fri May 2 23:48:27 EDT 2008
On Fri, May 2, 2008 at 7:25 PM, Robert Kern <robert.kern at gmail.com> wrote:
> In [5]: def kerndist(x):
> ...: N = x.shape[0]
> ...: x.flat[::N+1] = x.max()
> ...: ij = argmin(x.flat)
> ...: i, j = divmod(ij, N)
> ...: return i, j
I replaced
ij = argmin(x.flat)
with
x.argmin()
(they're the same in this context, right?) for a slight speed up. Now
I'm down to 1.9 seconds.
>> timeit argmin(x.flat)
10000 loops, best of 3: 24.8 µs per loop
>> timeit argmin(x)
100000 loops, best of 3: 9.19 µs per loop
>> timeit x.argmin()
100000 loops, best of 3: 8.06 µs per loop
OK, enough way-too-early optimization. But I'll definately add i, j =
modiv(x.argmin(), x.shape[0]) to my toolbelt.
More information about the NumPy-Discussion
mailing list