|| ||Francesc Alted <faltet-AT-pytables.org> |
|| ||python-announce-list-AT-python.org |
|| ||ANN: Numexpr 2.0 released |
|| ||Sun, 27 Nov 2011 13:58:36 +0100|
|| ||Article, Thread
Announcing Numexpr 2.0
Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3*a+4*b") are accelerated
and use less memory than doing the same calculation in Python.
It wears multi-threaded capabilities, as well as support for Intel's
VML library, which allows for squeezing the last drop of performance
out of your multi-core processors.
This version comes with support for the new iterator in NumPy
(introduced in NumPy 1.6), allowing for improved performance in
practically all the scenarios (the exception being very small arrays),
and most specially for operations implying broadcasting,
fortran-ordered or non-native byte orderings.
The carefully crafted mix of the new NumPy iterator and direct access
to data buffers turned out to be so powerful and flexible, that the
internal virtual machine has been completely revamped around this
The drawback is that you will need NumPy >= 1.6 to run numexpr 2.0.
However, NumPy 1.6 has been released more than 6 months ago now, so we
think this is a good time for taking advantage of it. Many thanks to
Mark Wiebe for such an important contribution!
For some benchmarks on the new virtual machine, see:
Also, Gaëtan de Menten contributed important bug fixes, code cleanup
as well as speed enhancements. Francesc Alted contributed some fixes,
and added compatibility code with existing applications (PyTables)
In case you want to know more in detail what has changed in this
or have a look at RELEASE_NOTES.txt in the tarball.
Where I can find Numexpr?
The project is hosted at Google code in:
You can get the packages from PyPI as well:
Share your experience
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
Support the Python Software Foundation:
to post comments)