- edited description
setup.py re-compiles files unnecessarily
Issue #191
new
I notice a lot of duplicate g++ compile commands with setup.py:
building 'freud.bond' extension
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -g -Iextern -I/opt/packages/python/Python-3.5.2-icc-mkl/lib/python3.5/site-packages/numpy-1.12.0b1-py3.5-linux-x86_64.egg/numpy/core/include -Icpp/bond -Icpp/box -Icpp/cluster -Icpp/density -Icpp/environment -Icpp/locality -Icpp/order -Icpp/parallel -Icpp/pmft -Icpp/registration -Icpp/util -I/opt/packages/python/Python-3.5.2-icc-mkl/include -I/opt/packages/python/Python-3.5.2-icc-mkl/include/python3.5m -c cpp/locality/NearestNeighbors.cc -o build/temp.linux-x86_64-3.5/cpp/locality/NearestNeighbors.o -std=c++11
...
building 'freud.box' extension
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -g -Iextern -I/opt/packages/python/Python-3.5.2-icc-mkl/lib/python3.5/site-packages/numpy-1.12.0b1-py3.5-linux-x86_64.egg/numpy/core/include -Icpp/bond -Icpp/box -Icpp/cluster -Icpp/density -Icpp/environment -Icpp/locality -Icpp/order -Icpp/parallel -Icpp/pmft -Icpp/registration -Icpp/util -I/opt/packages/python/Python-3.5.2-icc-mkl/include -I/opt/packages/python/Python-3.5.2-icc-mkl/include/python3.5m -c cpp/locality/NearestNeighbors.cc -o build/temp.linux-x86_64-3.5/cpp/locality/NearestNeighbors.o -std=c++11
...
and so on...
latest master
Comments (3)
-
reporter -
It looks like distutils doesn't reuse
.o
files on purpose, see https://bugs.python.org/issue5372 . If speed is a concern, using ccache is an option, I suppose... -
reporter or just move common objects into a common.so
- Log in to comment