[Numpy-discussion] NumPy re-factoring project

Sturla Molden sturla@molden...
Thu Jun 10 21:40:06 CDT 2010

Den 11.06.2010 03:02, skrev Charles R Harris:
> But for an initial refactoring it probably falls in the category of 
> premature optimization. Another thing to avoid on the first go around 
> is micro-optimization, as it tends to complicate the code and often 
> doesn't do much for performance.

First, to refractor NumPy we must get rid of array iterators as Python 
objects. Retaining them as Python objects defies the whole purpose. 
Second, creating an array of pointers has the advantage of being more 
friendly to OpenMP and multi-core CPUs. We don't need to serialize 
access to an iterator, and we allow OpenMP to do load balancing. For 
things like FFT on vectors along an axis in a multidimensional array 
(e.g. in multi-dimensional FFTs), this is not a micro-optimization. Not 
to mention that it is easier to iterate over an array than use a 
complicated iterator object in C.


More information about the NumPy-Discussion mailing list