Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2159

ANN: numexpr 2.6.0 released

Path csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From Francesc Alted <faltet@gmail.com>
Newsgroups comp.lang.python.announce
Subject ANN: numexpr 2.6.0 released
Date Wed, 1 Jun 2016 14:30:16 +0200
Lines 66
Approved python-announce-list@python.org
Message-ID <mailman.68.1464784260.1839.python-announce-list@python.org> (permalink)
References <CAFrp1vrdHP2v=wVOkvwE_mHcwBXTpdxjqJBcc0GYAxyD+LmvGw@mail.gmail.com>
Reply-To faltet@gmail.com
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
X-Trace news.uni-berlin.de W8v91dXRTe67AcFSgTsVhQPDRDjEoV10lWWmYaOn07gw==
Return-Path <faltet@gmail.com>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'dependency': 0.07; 'executed': 0.07; 'expressions': 0.07; 'pypi': 0.07; 'subject:ANN': 0.07; 'subject:released': 0.07; 'suggestions,': 0.07; 'check.': 0.09; 'library),': 0.09; 'tuning': 0.09; 'url:github': 0.09; 'url:rst': 0.09; 'python.': 0.11; '(but': 0.15; '==========': 0.16; 'alted': 0.16; 'bugs,': 0.16; 'bump': 0.16; 'constants': 0.16; 'francesc': 0.16; 'from:addr:faltet': 0.16; 'from:name:francesc alted': 0.16; 'loops': 0.16; 'numpy': 0.16; 'operands.': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'memory': 0.17; 'directory.': 0.18; 'numerical': 0.18; 'processor': 0.18; 'meant': 0.22; 'arrays': 0.22; 'minor': 0.22; 'see:': 0.22; 'skip:= 20': 0.22; '(like': 0.23; 'to:no real name:2**1': 0.27; 'message-id:@mail.gmail.com': 0.27; 'function': 0.28; 'values': 0.28; 'fine': 0.28; 'cpu': 0.29; 'array': 0.29; 'allows': 0.30; 'url:wiki': 0.30; 'version,': 0.30; 'operate': 0.32; 'changed': 0.33; 'url:python': 0.33; 'changing': 0.34; 'previous': 0.34; 'skip:& 20': 0.35; 'received:google.com': 0.35; 'requiring': 0.35; 'project': 0.36; 'url:org': 0.36; 'received:209.85': 0.36; 'evaluation': 0.36; 'hosted': 0.36; 'subject:: ': 0.37; 'done.': 0.37; 'doing': 0.38; 'detail': 0.38; 'version': 0.38; 'received:209': 0.38; 'drop': 0.38; 'anything': 0.38; 'to:addr:python.org': 0.40; 'where': 0.40; 'some': 0.40; 'your': 0.60; 'share': 0.61; 'engine': 0.62; 'relatively': 0.63; 'more': 0.63; 'enjoy': 0.66; 'here': 0.66; 'results': 0.66; 'header:Reply-To:1': 0.67; 'reply-to:no real name:2**0': 0.71; 'reply-to:addr:gmail.com': 0.76; 'heavy': 0.81; 'url:master': 0.84; 'adopt': 0.91; 'announcing': 0.91; 'have.': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:date:message-id:subject:from:to; bh=r4XGwAH2IKAqkY8TT/ajtE87NG/eTkP4l5ztsUX1T9g=; b=sgcDfNJDHpYSAPJCziMfRN+va3cxOHWdW+qXB7mELoCMHFIjd8cX6dR7ib+7cWHEVX pomNdjk8VEFNrVusBOzBhO/HgassfSS0GZT7l/v0rcTlLzlgkEfYp0c7+6XPvu/n5Q7T oh9iUbrhMj4EzONIsRWR56hAwPeSMT2Y2Iwg7TKYIYrCMkPBUsRtVkDCO8GA0ploiVZR QCgfd99jhrOVIPedUTaGg9SI9ChhZgoS3Phz8WDps+PXg07td1VlrXuMMXBEEdXBbw3y KFSYtDTsx0EDGYmJ2KLo02nrzIpZAVtuQUSbxrzGeedpo/KqeJmvZHabtj3SBatdJ8v5 6iBA==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:date:message-id:subject :from:to; bh=r4XGwAH2IKAqkY8TT/ajtE87NG/eTkP4l5ztsUX1T9g=; b=HjIjXwQIv5dfMmZm+f/N7Qzy1PhxzGsCFhwX39tMAwCkSwp81/qoLmQ68ZYHOBohvy 1nHQ0qvpUhePS+zoy7AvSLJtxhH4T4tdBGPWMQO7H60k7Zd7cLiNcmRFAdB9U3HBPXSU 5VCvBvxznd7xiOR5vBIK2XbQG26wwl6BwPHUgOkxWx/ltNv3K27sK4lR+hkawob5MpPX PkwC8CoJNHDZfDHSX1h7E991eWgFW09lpOCZ2C56wemlaqszF9eeuPIwM+hv8uNnwCiM JnLyo3RBOwyMjoN0VGkHEAOxaM8DdQfChAARQdsgiMR4v24b2BpTKedVSTBVT7kYlLCk GMNQ==
X-Gm-Message-State ALyK8tJgP78gPKYfO2wFqbylEP+EhQmm5o1XpkP7Cs9hjT8Z+5PtM1vo1Jp5kYRBTGNHEvMd8XmTBH/wgxW17w==
X-Received by 10.13.215.136 with SMTP id z130mr2164301ywd.278.1464784216897; Wed, 01 Jun 2016 05:30:16 -0700 (PDT)
X-Mailman-Approved-At Wed, 01 Jun 2016 08:30:59 -0400
X-Content-Filtered-By Mailman/MimeDel 2.1.22
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.22
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CAFrp1vrdHP2v=wVOkvwE_mHcwBXTpdxjqJBcc0GYAxyD+LmvGw@mail.gmail.com>
Xref csiph.com comp.lang.python.announce:2159

Show key headers only | View raw


=========================
 Announcing Numexpr 2.6.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
MKL (Math Kernel Library), which allows an extremely fast evaluation
of transcendental functions (sin, cos, tan, exp, log...) while
squeezing the last drop of performance out of your multi-core
processors.  Look here for a some benchmarks of numexpr using MKL:

https://github.com/pydata/numexpr/wiki/NumexprMKL

Its only dependency is NumPy (MKL is optional), so it works well as an
easy-to-deploy, easy-to-use, computational engine for projects that
don't want to adopt other solutions requiring more heavy dependencies.

What's new
==========

This is a minor version bump because it introduces a new function.
Also some minor fine tuning for recent CPUs has been done.  More
specifically:

- Introduced a new re_evaluate() function for re-evaluating the
  previous executed array expression without any check.  This is meant
  for accelerating loops that are re-evaluating the same expression
  repeatedly without changing anything else than the operands.  If
  unsure, use evaluate() which is safer.

- The BLOCK_SIZE1 and BLOCK_SIZE2 constants have been re-checked in
  order to find a value maximizing most of the benchmarks in bench/
  directory.  The new values (8192 and 16 respectively) give somewhat
  better results (~5%) overall.  The CPU used for fine tuning is a
  relatively new Haswell processor (E3-1240 v3).

In case you want to know more in detail what has changed in this
version, see:

https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst

Where I can find Numexpr?
=========================

The project is hosted at GitHub in:

https://github.com/pydata/numexpr

You can get the packages from PyPI as well (but not for RC releases):

http://pypi.python.org/pypi/numexpr

Share your experience
=====================

Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.


Enjoy data!

-- 
Francesc Alted

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: numexpr 2.6.0 released Francesc Alted <faltet@gmail.com> - 2016-06-01 14:30 +0200

csiph-web