ANN: NumExpr 2.6.5

Robert McLeod robbmcleod at
Tue May 1 16:31:41 EDT 2018

 Announcing Numexpr 2.6.5

Hi everyone,

This is primarily an incremental performance improvement release,
with regards to improving import times of downstream packages (e.g.
`pandas`, `tables`, `sympy`).  Import times have been reduced from ~300 ms
to ~100 ms through removing a `pkg_resources` import and making the
import lazy.

The maximum number of threads is now set at import-time, similar to
`numba`, by
setting an environment variable 'NUMEXPR_MAX_THREADS'.  The runtime number
of threads can still be reduced by calling `numexpr.set_num_threads(N)`.

DEPRECATION WARNING: The variable `numexpr.is_cpu_amd_intel` has been set
to a
dummy value of `False`. This variable may be removed in the future.

Project documentation is available at:

Changes from 2.6.4 to 2.6.5

- The maximum thread count can now be set at import-time by setting the
  environment variable 'NUMEXPR_MAX_THREADS'. The default number of
  max threads was lowered from 4096 (which was deemed excessive) to 64.
- A number of imports were removed (pkg_resources) or made lazy (cpuinfo)
  order to speed load-times for downstream packages (such as `pandas`,
  and `tables`). Import time has dropped from about 330 ms to 90 ms. Thanks
  Jason Sachs for pointing out the source of the slow-down.
- Thanks to Alvaro Lopez Ortega for updates to benchmarks to be compatible
  Python 3.
- Travis and AppVeyor now fail if the test module fails or errors.
- Thanks to Mahdi Ben Jelloul for a patch that removed a bug where
  in `where` calls would raise a ValueError.
- Fixed a bug whereby all-constant power operations would lead to infinite

Robert McLeod, Ph.D.
robbmcleod at
robbmcleod at
robert.mcleod at

More information about the Python-announce-list mailing list