[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.
Sturla
More information about the NumPy-Discussion
mailing list