summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3-setuptools
Commit message (Collapse)AuthorAgeFilesLines
* Revert "python3-setuptools: patch entrypoints for faster initialization"Alexander Kanavin2020-06-301-62/+0
| | | | | | | | | | Apologies, but the patch is not possible to rebase onto the new setuptools, as the code has changed too much. Please get it accepted upstream first. (From OE-Core rev: f2feb53c967256431f03a07c1b4b9a0d8568d9b5) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-setuptools: patch entrypoints for faster initializationTrevor Gamblin2020-06-251-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setuptools' pkg_resources module has major performance issues with how it loads entry points (e.g. the console_script entry point, which sets up a module as a command-line executable), leading even the simplest "hello world" scripts to take on the order of 150ms to run if pkg_resources is incorporated. This is prohibitive for code that needs to run quickly, and so we patch setuptools to reduce this time. As of Python 3.7, importlib.resources is available and intended to replace much of the functionality that causes this sluggishness, but since many projects still utilize the legacy setuptools modules, a patch is still required. Note that python3-fastentrypoints (which is available in the meta-virtualization layer) is also intended to help alleviate the problem, but since it must be added to existing projects it has the same disadvantage as resorting to importlib.resources, requiring manual additions to existing code to see the performance gains. The intent here is to patch easy_install to load module entry points directly with the installed setuptools, rather than importing pkg_resources and having it search out the entry points itself. This leads to a drastic performance improvement - the changes in this patch have been shown to result in load time ~6-8x lower, depending on the complexity of the code it is tested with. A simple "hello world" example on core-image-full-cmdline gave these results with and without the patch: core-image-full-cmdline, without setuptools ScriptWriter patch: root@qemux86-64:~# time /usr/bin/minimal hello world real 0m0.198s user 0m0.174s sys 0m0.023s core-image-full-cmdline, with setuptools ScriptWriter patch: root@qemux86-64:~# time /usr/bin/minimal hello world real 0m0.034s user 0m0.024s sys 0m0.010s More details on the pkg_resources issue are available at: https://github.com/pypa/setuptools/issues/510 (From OE-Core rev: 9ff7c2f4a43e28ac6a89045c38effe03063f2061) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-setuptools:upgrade 45.2.0 -> 47.1.1zangrc2020-06-041-12/+1
| | | | | | | (From OE-Core rev: 0e106ae4ced8f51ae4e0acb829a245b9ee02b8ac) Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-setuptools: change shebang to python3Changqing Li2020-04-261-0/+36
we have offcially dropped python2, so it is possible that our code run on python3 only host, so change shebang to python3 to avoid error like: python: command not found (From OE-Core rev: c49ea8d5640d984e28ad63919e0b9ee549a4e17f) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>