[Python-Dev] To reduce Python "application" startup time
INADA Naoki
songofacandy at gmail.com
Tue Sep 5 09:02:19 EDT 2017
Hi,
While I can't attend to sprint, I saw etherpad and I found
Neil Schemenauer and Eric Snow will work on startup time.
I want to share my current knowledge about startup time.
For bare (e.g. `python -c pass`) startup time, I'm waiting C
implementation of ABC.
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?)
I'm very busy these days, maybe until December.
But I hope this report helps people working on optimizing startup time.
Regards,
INADA Naoki <songofacandy at gmail.com>
More information about the Python-Dev
mailing list