[Numpy-discussion] NEP for faster ufuncs

Mark Wiebe mwwiebe@gmail....
Wed Dec 22 02:48:03 CST 2010


On Wed, Dec 22, 2010 at 12:21 AM, Francesc Alted <faltet@pytables.org>wrote:

> <snip>
> Wow, really nice work!  It would be great if that could make into NumPy
> :-)  Regarding your comment on numexpr being faster, I'm not sure (your
> new_iterator branch does not work for me; it gives me an error like:
> AttributeError: 'module' object has no attribute 'newiter'),


What are you using to build it?  So far I've just modified the setup.py
scripts, I still need to add it to numscons.


> but my
> guess is that your approach seems actually faster:
>
> >>> a = np.random.random((50,50,50,10))
> >>> b = np.random.random((50,50,1,10))
> >>> c = np.random.random((50,50,50,1))
> >>> timeit 3*a+b-(a/c)
> 10 loops, best of 3: 67.5 ms per loop
> >>> import numexpr as ne
> >>> ne.evaluate("3*a+b-(a/c)
> >>> timeit ne.evaluate("3*a+b-(a/c)")
> 10 loops, best of 3: 42.8 ms per loop
>
> i.e. numexpr is not able to achieve the 2x speedup mark that you are
> getting with ``luf`` (using a Core2 @ 3 GHz here).
>

That's promising!  I based my assertion on getting a slower speedup than
numexpr does on their front page example.

-Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20101222/b5368ee3/attachment.html 


More information about the NumPy-Discussion mailing list