Open rth opened 4 years ago
cc @jjhelmus @mingwandroid (as you may have thoughts here 😉)
Losing LD_PRELOAD is unfortunate. We could test it I suppose though.
The current python
conda packages are linked statically against libpython
. I do not believe there would be any performance improvements from building with -fno-semantic-interposition
since there is no dynamic libpython
library to interpose.
Fedora dynamically links the python interpreter to libpython
and therefore sees gains from building with -fno-semantic-interposition
. The original Fedora proposal began with a discussion to statically link the interpreter to achieve performance gains.
You can still interpose glibc.
I expect the perf. gains in disabling that would be minimal though.
According to the Fedora proposal it is still possible to interpose glibc and other libraries. Interposition is only disabled for libpython.
""" It is still possible to use LD_PRELOAD to override symbols in other libraries (for example in glibc). """
OK then I don't think there's any point here, happy to be benchmarked wrong though.
Thanks for investigating! Looks like this issue can be closed then?
We do build a libpython dynamic library. We could still enable it for that if anyone cares?
Fedora 32 has a proposal to build python with with
-fno-semantic-interposition
for better performance (https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup),It would be interesting to investigate whether the same could be done for conda-forge Linux (and possibly MacOS) builds.