head 1.4; access; symbols pkgsrc-2016Q3:1.3.0.2 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.1.1.1.0.48 pkgsrc-2016Q2-base:1.1.1.1 pkgsrc-2016Q1:1.1.1.1.0.46 pkgsrc-2016Q1-base:1.1.1.1 pkgsrc-2015Q4:1.1.1.1.0.44 pkgsrc-2015Q4-base:1.1.1.1 pkgsrc-2015Q3:1.1.1.1.0.42 pkgsrc-2015Q3-base:1.1.1.1 pkgsrc-2015Q2:1.1.1.1.0.40 pkgsrc-2015Q2-base:1.1.1.1 pkgsrc-2015Q1:1.1.1.1.0.38 pkgsrc-2015Q1-base:1.1.1.1 pkgsrc-2014Q4:1.1.1.1.0.36 pkgsrc-2014Q4-base:1.1.1.1 pkgsrc-2014Q3:1.1.1.1.0.34 pkgsrc-2014Q3-base:1.1.1.1 pkgsrc-2014Q2:1.1.1.1.0.32 pkgsrc-2014Q2-base:1.1.1.1 pkgsrc-2014Q1:1.1.1.1.0.30 pkgsrc-2014Q1-base:1.1.1.1 pkgsrc-2013Q4:1.1.1.1.0.28 pkgsrc-2013Q4-base:1.1.1.1 pkgsrc-2013Q3:1.1.1.1.0.26 pkgsrc-2013Q3-base:1.1.1.1 pkgsrc-2013Q2:1.1.1.1.0.24 pkgsrc-2013Q2-base:1.1.1.1 pkgsrc-2013Q1:1.1.1.1.0.22 pkgsrc-2013Q1-base:1.1.1.1 pkgsrc-2012Q4:1.1.1.1.0.20 pkgsrc-2012Q4-base:1.1.1.1 pkgsrc-2012Q3:1.1.1.1.0.18 pkgsrc-2012Q3-base:1.1.1.1 pkgsrc-2012Q2:1.1.1.1.0.16 pkgsrc-2012Q2-base:1.1.1.1 pkgsrc-2012Q1:1.1.1.1.0.14 pkgsrc-2012Q1-base:1.1.1.1 pkgsrc-2011Q4:1.1.1.1.0.12 pkgsrc-2011Q4-base:1.1.1.1 pkgsrc-2011Q3:1.1.1.1.0.10 pkgsrc-2011Q3-base:1.1.1.1 pkgsrc-2011Q2:1.1.1.1.0.8 pkgsrc-2011Q2-base:1.1.1.1 pkgsrc-2011Q1:1.1.1.1.0.6 pkgsrc-2011Q1-base:1.1.1.1 pkgsrc-2010Q4:1.1.1.1.0.4 pkgsrc-2010Q4-base:1.1.1.1 pkgsrc-2010Q3:1.1.1.1.0.2 pkgsrc-2010Q3-base:1.1.1.1 pkgsrc_base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.4 date 2016.11.17.07.26.47; author alnsn; state dead; branches; next 1.3; commitid p02ajzSbhkRA6suz; 1.3 date 2016.07.15.07.21.36; author wiz; state Exp; branches; next 1.2; commitid pxJI4WmV3opa6oez; 1.2 date 2016.07.15.07.18.45; author wiz; state Exp; branches; next 1.1; commitid ZLgZ1Rk7atE75oez; 1.1 date 2010.07.16.12.12.17; author drochner; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2010.07.16.12.12.17; author drochner; state Exp; branches; next ; desc @@ 1.4 log @Update to 2.6.1. Prompted by beta.repology.org. Changes from 2.6.0 to 2.6.1 * Fixed a performance regression in some situations as consequence of increasing too much the BLOCK_SIZE1 constant. After more careful benchmarks (both in VML and non-VML modes), the value has been set again to 1024 (down from 8192). The benchmarks have been made with a relatively new processor (Intel Xeon E3-1245 v5 @@ 3.50GHz), so they should work well for a good range of processors again. * Added NetBSD support to CPU detection. Thanks to Thomas Klausner. @ text @$NetBSD: patch-ab,v 1.3 2016/07/15 07:21:36 wiz Exp $ Add NetBSD support in CPU detection. https://github.com/pydata/numexpr/pull/223 --- numexpr/cpuinfo.py.orig 2016-06-01 11:55:58.000000000 +0000 +++ numexpr/cpuinfo.py @@@@ -498,6 +498,32 @@@@ class DarwinCPUInfo(CPUInfoBase): def _is_ppc860(self): return self.__machine(860) +class NetBSDCPUInfo(CPUInfoBase): + info = None + + def __init__(self): + if self.info is not None: + return + info = {} + info['sysctl_hw'] = key_value_from_command(['sysctl', 'hw'], sep='=') + info['arch'] = info['sysctl_hw'].get('hw.machine_arch', 1) + info['machine'] = info['sysctl_hw'].get('hw.machine', 1) + self.__class__.info = info + + def _not_impl(self): pass + + def _getNCPUs(self): + return int(self.info['sysctl_hw'].get('hw.ncpu', 1)) + + def _is_Intel(self): + if self.info['sysctl_hw'].get('hw.model', "")[0:5] == 'Intel': + return True + return False + + def _is_AMD(self): + if self.info['sysctl_hw'].get('hw.model', "")[0:3] == 'AMD': + return True + return False class SunOSCPUInfo(CPUInfoBase): info = None @@@@ -781,6 +807,8 @@@@ elif sys.platform.startswith('irix'): cpuinfo = IRIXCPUInfo elif sys.platform == 'darwin': cpuinfo = DarwinCPUInfo +elif sys.platform[0:6] == 'netbsd': + cpuinfo = NetBSDCPUInfo elif sys.platform.startswith('sunos'): cpuinfo = SunOSCPUInfo elif sys.platform.startswith('win32'): @ 1.3 log @Add upstream bug report URL. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.2 2016/07/15 07:18:45 wiz Exp $ @ 1.2 log @Updated py-numexpr to 2.6.0. Fix CPU detection patch while here. Changes from 2.5.2 to 2.6.0 =========================== - 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). - The '--name' flag for `setup.py` returning the name of the package is honored now (issue #215). Changes from 2.5.1 to 2.5.2 =========================== - conj() and abs() actually added as VML-powered functions, preventing the same problems than log10() before (PR #212). Thanks to Tom Kooij for the fix! Changes from 2.5 to 2.5.1 ========================= - Fix for log10() and conj() functions. These produced wrong results when numexpr was compiled with Intel's MKL (which is a popular build since Anaconda ships it by default) and non-contiguous data (issue #210). Thanks to Arne de Laat and Tom Kooij for reporting and providing a nice test unit. - Fix that allows numexpr-powered apps to be profiled with pympler. Thanks to @@nbecker. Changes from 2.4.6 to 2.5 ========================= - Added locking for allowing the use of numexpr in multi-threaded callers (this does not prevent numexpr to use multiple cores simultaneously). (PR #199, Antoine Pitrou, PR #200, Jenn Olsen). - Added new min() and max() functions (PR #195, CJ Carey). Changes from 2.4.5 to 2.4.6 =========================== - Fixed some UserWarnings in Solaris (PR #189, Graham Jones). - Better handling of MSVC defines. (#168, Francesc Alted). Changes from 2.4.4 to 2.4.5 =========================== - Undone a 'fix' for a harmless data race. (#185 Benedikt Reinartz, Francesc Alted). - Ignore NumPy warnings (overflow/underflow, divide by zero and others) that only show up in Python3. Masking these warnings in tests is fine because all the results are checked to be valid. (#183, Francesc Alted). Changes from 2.4.3 to 2.4.4 =========================== - Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan). Changes from 2.4.3 to 2.4.4 =========================== * Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not set. Fixes #161. (PR #175, Stefan Erb). * Added support for AppVeyor (PR #178 Andrea Bedini) * Fix to allow numexpr to be imported after eventlet.monkey_patch(), as suggested in #118 (PR #180 Ben Moran). * Fix harmless data race that triggers false positives in ThreadSanitizer. (PR #179, Clement Courbet). * Fixed some string tests on Python 3 (PR #182, Antonio Valentino). Changes from 2.4.2 to 2.4.3 =========================== * Comparisons with empty strings work correctly now. Fixes #121 and PyTables #184. Changes from 2.4.1 to 2.4.2 =========================== * Improved setup.py so that pip can query the name and version without actually doing the installation. Thanks to Joris Borgdorff. Changes from 2.4 to 2.4.1 ========================= * Added more configuration examples for compiling with MKL/VML support. Thanks to Davide Del Vento. * Symbol MKL_VML changed into MKL_DOMAIN_VML because the former is deprecated in newer MKL. Thanks to Nick Papior Andersen. * Better determination of methods in `cpuinfo` module. Thanks to Marc Jofre. * Improved NumPy version determination (handy for 1.10.0). Thanks to Åsmund Hjulstad. * Benchmarks run now with both Python 2 and Python 3. Thanks to Zoran Plesivčak. Changes from 2.3.1 to 2.4 ========================= * A new `contains()` function has been added for detecting substrings in strings. Only plain strings (bytes) are supported for now. See PR #135 and ticket #142. Thanks to Marcin Krol. * New version of setup.py that allows better management of NumPy dependency. See PR #133. Thanks to Aleks Bunin. Changes from 2.3 to 2.3.1 ========================= * Added support for shift-left (<<) and shift-right (>>) binary operators. See PR #131. Thanks to fish2000! * Removed the rpath flag for the GCC linker, because it is probably not necessary and it chokes to clang. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $ d4 1 @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 1 --- numexpr/cpuinfo.py.orig 2009-06-23 08:39:40.000000000 +0000 d7 2 a8 2 @@@@ -390,6 +390,30 @@@@ class DarwinCPUInfo(CPUInfoBase): def _is_ppc823(self): return self.__machine(823) d17 4 a20 2 + info = command_info(arch='arch', machine='machine') + info['sysctl_hw'] = key_value_from_command('sysctl hw', sep='=') d39 2 a40 2 @@@@ -648,6 +672,8 @@@@ elif sys.platform.startswith('irix'): @ 1.1.1.1 log @add py-numexpr-1.3.1, a numerical expression evaluator for NumPy @ text @@