diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2017-05-04 22:47:24 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2017-05-04 23:00:24 +0200 |
commit | 67bfabf1d5b6bedc695eab097cee9ddc9a406496 (patch) | |
tree | e01028ef078edc094fa2e95c3edc18e65dfdef92 /numpy/add_newdocs.py | |
parent | 7d134a35ac7966cd0ce13d19e935308afd289686 (diff) | |
download | numpy-67bfabf1d5b6bedc695eab097cee9ddc9a406496.tar.gz |
BUG: distutils, add compatiblity python parallelization
Python 3.5 also added build parallelization at the extension level
instead of the file leve numpy uses.
This causes two problems:
- numpy.distutils is not threadsafe with duplicated source files
When source files are duplicated in multiple extensions the output
objects are overwritten which can truncate in a parallel context.
This is fixed by keeping track of the files being worked on and wait
for completion if another thread is already using the object name.
- The parallelization on two nested levels causes oversubscription.
When building multiple extensions with multiple source files the number
of jobs running is multiplied.
This is fixed by adding a semaphore that limits the number of jobs numpy
starts to the defined amount.
closes gh-7139
Diffstat (limited to 'numpy/add_newdocs.py')
0 files changed, 0 insertions, 0 deletions