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