[Python-Dev] To reduce Python "application" startup time
jelle.zijlstra at gmail.com
Tue Sep 5 14:13:58 EDT 2017
2017-09-05 6:02 GMT-07:00 INADA Naoki <songofacandy at gmail.com>:
> 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.
> With this profile, I tried optimize `python -c 'import asyncio'`, logging
> and http.client.
> This patch moves a few imports inside functions. I wonder whether that
kind of change actually helps with real applications—doesn't any real
application end up importing the socket module anyway at some point?
> 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.
> INADA Naoki <songofacandy at gmail.com>
> Python-Dev mailing list
> Python-Dev at python.org
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev