[issue23037] cpu_count() unreliable on Windows

2014-12-12 Thread Mark Summerfield

New submission from Mark Summerfield:

In message
http://bugs.python.org/issue17914#msg188626
Victor Stenner says

On Windows, GetSystemInfo() is called instead of reading an environment 
variable. I suppose that this function is more reliable.

From my reading, and based on feedback from one of my customers, I believe he 
is correct and that GetSystemInfo() ought to be used on Windows. (It is 
available in pywin32 win32api.)

--
components: Library (Lib), Windows
messages: 232540
nosy: mark, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
type: behavior
versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue23037
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue23037] cpu_count() unreliable on Windows

2014-12-12 Thread STINNER Victor

STINNER Victor added the comment:

The code getting the number of processors on Windows is different between the 
multiprocessing (Python 3.3) and os (Python 3.5) modules.

multiprocessing (old code):

try:
num = int(os.environ['NUMBER_OF_PROCESSORS'])
except (ValueError, KeyError):
num = 0

os (new code):

SYSTEM_INFO sysinfo;
GetSystemInfo(sysinfo);
ncpu = sysinfo.dwNumberOfProcessors;

os.cpu_count() is already implemented with GetSystemInfo() in Python 3.5, so 
this issue can be closed. Thanks for the reminder Mark, it was useful to double 
check.

If you want to take a look at the source code:
https://hg.python.org/cpython/file/35b7dde7fd53/Modules/posixmodule.c#l16064

--
nosy: +haypo
resolution:  - fixed
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue23037
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com