[Python-Dev] Startup time
Jeff Epler
jepler@unpythonic.net
Wed, 7 May 2003 12:06:18 -0500
On Tue, May 06, 2003 at 07:35:40PM +0200, Martin v. L=F6wis wrote:
> That would be easy to determine: Just disable the block
>=20
> #if defined(Py_USING_UNICODE) && defined(HAVE_LANGINFO_H) && defined(CO=
DESET)
>=20
> in pythonrun.c, and see whether it changes anything. To my knowledge,
> this is the only cause of loading encodings during startup on Unix.
With this change, I typically see
real 0m0.020s
user 0m0.020s
sys 0m0.000s
instead of
real 0m0.022s
user 0m0.020s
sys 0m0.000s
The number of successful open()s decreases, but not by much:
# before change
$ strace -e open ./python-2.3 -S -c pass 2>&1 | grep -v ENOENT | wc -l
46
# after change
$ strace -e open ./python -S -c pass 2>&1 | grep -v ENOENT | wc -l
39
What about this line? It seems to be the cause of a bunch of imports,
including the sre stuff:
/* pythonrun.c */
PyModule_WarningsModule =3D PyImport_ImportModule("warnings");
Jeff