Hello,

we've been recently approached by a colleague from Red Hat working on performance (CCed).

According to their testing, Fedora Python performance could be improved by ~15% by building /usr/bin/python* statically with libpython*.a. That sounds like a worthy thing to do.

https://bugzilla.redhat.com/show_bug.cgi?id=1749479

Since Python 3.8 Python extension modules are no longer linked to libpython.so and we can do the following:

 * build /usr/bin/python3(.8) statically with libpython*.a
 * build and ship libpython3.8.so.1.0 for packages that "embed" Python

The change in the python3 package is trivial:

https://src.fedoraproject.org/rpms/python3/pull-request/133

However it can have serious impact on Python extension modules that are linked to libpython3.8.so.1.0 by various "nonstandard" build mechanisms or by compiling code for Python extension module and code that embeds Python into one file.

We will likely propose a Fedora 32 Change for this, however I'm opening this topic for discussion before we do so.

Testing the proposed Pull Request with your code is also helpful. Let me know how can we make that easier (e.g. if you want a Copr or a Fedora 30/31 python38 package with this change).

WDYT?
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org

Reply via email to