[Python-Dev] To reduce Python "application" startup time
Terry Reedy
tjreedy at udel.edu
Tue Sep 5 13:52:28 EDT 2017
On 9/5/2017 9:02 AM, INADA Naoki wrote:
> But application startup time is more important. And we can improve
> them with optimize importing common stdlib.
>
> Current `python -v` is not useful to optimize import.
> So I use this patch to profile import time.
> https://gist.github.com/methane/e688bb31a23bcc437defcea4b815b1eb
>
> With this profile, I tried optimize `python -c 'import asyncio'`, logging
> and http.client.
>
> https://gist.github.com/methane/1ab97181e74a33592314c7619bf34233#file-0-optimize-import-patch
>
> With this small patch:
>
> logging: 14.9ms -> 12.9ms
> asyncio: 62.1ms -> 58.2ms
> http.client: 43.8ms -> 36.1ms
>
> I haven't created pull request yet.
> (Can I create without issue, as trivial patch?)
Trivial, no-issue PRs are meant for things like typo fixes that need no
discussion or record.
Moving imports in violation of the PEP 8 rule, "Imports are always put
at the top of the file, just after any module comments and docstrings,
and before module globals and constants", is not trivial. Doing so
voluntarily for speed, as opposed to doing so necessarily to avoid
circular import errors, is controversial.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list