ANN: Numexpr 1.3.1 released
Francesc Alted
faltet at pytables.org
Tue Jun 23 14:26:29 CEST 2009
==========================
Announcing Numexpr 1.3.1
==========================
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.
This is a maintenance release. On it, support for the `unit32` type
has been added (it is internally upcasted to `int64`), as well as a
new `abs()` function (thanks to Pauli Virtanen for the patch).
Also, a little tweaking in the treatment of unaligned arrays on Intel
architectures allowed for up to 2x speedups in computations involving
unaligned arrays. For example, for multiplying 2 arrays (see the
included ``unaligned-simple.py`` benchmark), figures before the
tweaking were:
NumPy aligned: 0.63 s
NumPy unaligned: 1.66 s
Numexpr aligned: 0.65 s
Numexpr unaligned: 1.09 s
while now they are:
NumPy aligned: 0.63 s
NumPy unaligned: 1.65 s
Numexpr aligned: 0.65 s
Numexpr unaligned: 0.57 s <-- almost 2x faster than above
You can also see how the unaligned case can be even faster than the
aligned one. The explanation is that the 'aligned' array was actually
a strided one (actually a column of an structured array), and the
total working data size was a bit larger for this case.
In case you want to know more in detail what has changed in this
version, see:
http://code.google.com/p/numexpr/wiki/ReleaseNotes
or have a look at RELEASE_NOTES.txt in the tarball.
Where I can find Numexpr?
=========================
The project is hosted at Google code in:
http://code.google.com/p/numexpr/
And you can get the packages from PyPI as well:
http://pypi.python.org/pypi
How it works?
=============
See:
http://code.google.com/p/numexpr/wiki/Overview
for a detailed description by the original author (David M. Cooke).
Share your experience
=====================
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.
Enjoy!
--
Francesc Alted
More information about the Python-announce-list
mailing list