On Sat, Feb 6, 2010 at 2:21 PM, Joseph Turian <tur...@gmail.com> wrote:
> I have done some profiling, and the results are completely > counterintuitive. For simple array access operations, numpy and > array.array are 10x slower than native Python arrays. > > I am using numpy 1.3.0, the standard Ubuntu 9.03 package. > > Why am I getting such slow access speeds? > Note that for "array access", I am doing operations of the form: > a[i] += 1 > > Profiles: > > [0] * 20000000 > Access: 2.3M / sec > Initialization: 0.8s > > numpy.zeros(shape=(20000000,), dtype=numpy.int32) > Access: 160K/sec > Initialization: 0.2s > > array.array('L', [0] * 20000000) > Access: 175K/sec > Initialization: 2.0s > > array.array('L', (0 for i in range(20000000))) > Access: 175K/sec, presumably, based upon the profile for the other > array.array > Initialization: 6.7s > > Any idea why my numpy array access is so slow? > > Without seeing the whole script it is hard to tell. But numpy indexing is slow and should be avoided when possible. Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion