[Numpy-discussion] Sum, multiply are slow ?

David Cournapeau david at ar.media.kyoto-u.ac.jp
Thu Jul 12 00:32:50 EDT 2007


Hi,
   
    While profiling some code, I noticed that sum in numpy is kind of 
slow once you use axis argument:

import numpy as N
a = N.random.randn(1e5, 30)
%timeit N.sum(a) #-> 26.8ms
%timeit N.sum(a, 1) #-> 65.5ms
%timeit N.sum(a, 0) #-> 141ms

Now, if I use some tricks, I get:

%timeit N.sum(a) #-> 26.8 ms
%timeit N.dot(a, N.ones(a.shape[1], a.dtype)) #-> 11.3ms
%timeit N.dot(N.ones((1, a.shape[0]), a.dtype), a) #-> 15.5ms

I realize that dot uses optimized libraries (atlas in my case) and all, 
but is there any way to improve this situation ?

Cheers,

David



More information about the NumPy-Discussion mailing list