Path: csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!fu-berlin.de!uni-berlin.de!not-for-mail From: Robert McLeod Newsgroups: comp.lang.python.announce Subject: ANN: NumExpr 2.6.8 Date: Sun, 19 Aug 2018 11:58:12 -0700 Lines: 83 Approved: python-announce-list@python.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: news.uni-berlin.de SIBGZsgz+s429LVWa7l9YwyrqNIhtelEWEHrhLbQTU9A== Return-Path: 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; 'expressions': 0.05; 'pypi': 0.05; 'dependency': 0.07; 'subject:ANN': 0.07; 'suggestions,': 0.07; 'versions.': 0.07; 'deletes': 0.09; 'github': 0.09; 'globals': 0.09; 'macosx': 0.09; 'pypi.': 0.09; 'skip:` 30': 0.09; 'skipping': 0.09; 'url- ip:137/8': 0.09; 'url:pydata': 0.09; 'wheels': 0.09; 'everyone,': 0.11; 'python.': 0.12; 'bugs,': 0.16; 'library),': 0.16; 'needless': 0.16; 'numpy': 0.16; 'numpy.': 0.16; 'received:209.85.220.181': 0.16; 'received:mail- qk0-f181.google.com': 0.16; 'such,': 0.16; 'to:addr:numpy- discussion': 0.16; 'to:addr:pydata': 0.16; 'undesired': 0.16; 'url-ip:176.31/16': 0.16; 'python': 0.16; '(but': 0.17; 'url- ip:176/8': 0.19; 'versions': 0.19; '3.7': 0.21; 'numerical': 0.21; 'skip:` 10': 0.21; '8bit%:5': 0.21; 'arrays': 0.25; 'ph.d.': 0.25; 'variables.': 0.25; 'url-ip:151.101.0.223/32': 0.25; 'url- ip:151.101.128.223/32': 0.25; 'url-ip:151.101.192.223/32': 0.25; 'url-ip:151.101.64.223/32': 0.25; 'changes': 0.26; 'url- ip:151.101.192/24': 0.26; 'url-ip:151.101.0/24': 0.27; 'url- ip:151.101.128/24': 0.27; 'url-ip:151.101.64/24': 0.27; '(like': 0.27; 'robert': 0.27; 'fix': 0.28; '8bit%:9': 0.28; 'memory': 0.29; 'message-id:@mail.gmail.com': 0.29; 'prevent': 0.31; 'url- ip:192.30/16': 0.31; 'url:io': 0.31; 'actually': 0.32; 'requiring': 0.32; 'received:google.com': 0.33; 'behavior.': 0.33; 'consequence': 0.33; 'skip:= 20': 0.33; 'url:readthedocs': 0.33; 'at:': 0.33; 'url-ip:151.101/16': 0.34; 'url-ip:151/8': 0.34; 'skip:- 10': 0.34; 'clear': 0.35; 'operate': 0.35; 'linux': 0.35; 'received:209.85': 0.37; 'allows': 0.37; 'url:en': 0.37; 'url:wiki': 0.37; 'hosted': 0.37; 'to:no real name:2**1': 0.37; 'say': 0.37; 'sure': 0.38; 'to:addr:python-announce-list': 0.38; 'url-ip:192.30.253.112/32': 0.38; 'url-ip:192.30.253.113/32': 0.38; 'url-ip:192.30.253/24': 0.38; 'url:github': 0.38; 'skip:& 20': 0.38; 'doing': 0.38; 'received:209': 0.38; 'drop': 0.39; 'url:org': 0.40; 'working': 0.40; 'your': 0.60; 'solutions': 0.61; 'share': 0.61; 'more': 0.61; 'adopt': 0.62; 'announcing': 0.62; 'frame': 0.63; 'skip:2 30': 0.63; 'upgrading': 0.63; 'engine': 0.63; 'here': 0.64; 'our': 0.65; 'reference': 0.67; 'global': 0.67; 'skip:= 30': 0.67; 'avoid': 0.72; 'enjoy': 0.74; 'have.': 0.75; 'heavy': 0.82; 'clearing': 0.84; 'dict,': 0.84; 'leak': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=AzHvxVtQJQHefnysbSRzSfmzpJGRhgsLfu9ZSoqr2+o=; b=dJWV4+BAGbUTPkQWSvOaeN7ZG3wQR/PyG1UX/sFQDJgb/1F3r8BKQDpn9P3gOITKCR iXQwEHDQaTJPfpQrjysoOCbwaITXKVsNMGaLthzSccl2JHX1daIRKF1JefXEikRArquE Qea1bVgFI7S14buyyy9l5fDX3DLvdnJa4W4y9IgnSCejdtlmRtWJ+a6logtbctarTmn3 rc1mEVJsZmwFb1OWTCkdbxO/p0HtiUA0YpS6nR95KsaNw5VdjZTuOvZg162AqYfP/acg qsOOJuarPcVv15KimwtvACIuDlBlegjBToE8CW/6zEm3ZEeJ1QadtJsXI89if+qQbZyC MKiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=AzHvxVtQJQHefnysbSRzSfmzpJGRhgsLfu9ZSoqr2+o=; b=YPM1VgqpWv/yw5CKEHiGOb33SjZiE7VCuNeA5O4Rp6lxIe0wfh+yDvdXRfFisLuPpq zo6TRMR+qrr7rC6KhiL/JVkawXAzQnD3CV28SSO7dF8vDf+vIsSZlNRRet0vADHx3yVM aGx92PiWy/BP7WoMoryfKh0JBWn87ILMwWkq4CIWQBHdKXwWR/qrzXtOEmGnTtt2DcBX 9lSV4j49UWqsIFLYW6nWVjJkz00VVszCwts9+hX4tWy6pQj1BHnhSHG6itgqqVN0Keh/ aIsTS077PL1TJmQx3B4A8uRwPKVV7HBrfGr+Z9cUyNVZxeHUikPfdm4QdaNNy8x/GBso edzA== X-Gm-Message-State: AOUpUlGP+js/2saDG5Alpjnmwfx/LLhlp2eLWevEZezAIgbdQp4hyqNk Rphq5ygJ2ihdb55TRPQFeCqFgW4cL4ZL26bYgnmwrCRU X-Google-Smtp-Source: AA+uWPygoBme7h3r2zW6x6vBvnNy6Fq0ruUs7qXZ6h91ymdH2mi0Zc6OG9Uzc/+nL4qf3OXegpT9uSzi2+JMOcqOXuc= X-Received: by 2002:a37:d74b:: with SMTP id m72-v6mr8006842qki.296.1534705102548; Sun, 19 Aug 2018 11:58:22 -0700 (PDT) X-Mailman-Approved-At: Mon, 20 Aug 2018 08:06:20 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: Xref: csiph.com comp.lang.python.announce:2957 ========================== Announcing Numexpr 2.6.8 ========================== Hi everyone, Our attempt to fix the memory leak in 2.6.7 had an unforseen consequence that the `f_locals` from the top-most frame is actually `f_globals`, and clearing it to fix the extra reference count deletes all global variables. Needless to say this is undesired behavior. A check has been added to prevent clearing the globals dict, tested against both `python` and `ipython`. As such, we recommend skipping 2.6.7 and upgrading straight to 2.6.8 from 2.6.6. Project documentation is available at: http://numexpr.readthedocs.io/ Changes from 2.6.7 to 2.6.8 --------------------------- - Add check to make sure that `f_locals` is not actually `f_globals` when we do the `f_locals` clear to avoid the #310 memory leak issue. - Compare NumPy versions using `distutils.version.LooseVersion` to avoid issue #312 when working with NumPy development versions. - As part of `multibuild`, wheels for Python 3.7 for Linux and MacOSX are now available on PyPI. What's Numexpr? --------------- 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 has 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. 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 Documentation is hosted at: http://numexpr.readthedocs.io/en/latest/ Share your experience --------------------- Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. Enjoy data! -- Robert McLeod, Ph.D. robbmcleod@gmail.com robbmcleod@protonmail.com robert.mcleod@hitachi-hhtc.ca www.entropyreduction.al