[Python-Dev] urllib2 EP + decr. startup time (original) (raw)
Phillip J. Eby pje at telecommunity.com
Fri Feb 16 18:55:32 CET 2007
- Previous message: [Python-Dev] urllib2 EP + decr. startup time
- Next message: [Python-Dev] urllib2 EP + decr. startup time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 07:29 PM 2/16/2007 +0200, KoDer wrote:
2007/2/16, Phillip J. Eby <pje at telecommunity.com>: > At 04:38 PM 2/16/2007 +0200, KoDer wrote: ..... > > > Also, are you aware that putting a zipped version of the standard library > on sys.path already speeds up startup considerably? Python since 2.3 > automatically includes an appropriate entry in sys.path: >
zipped version has one weakness - you can't put .so(or dll) files inside. In my system 19 from 25 installed egg add directories ,not archives (because it's contain dll ).
There's something wrong there. You can put .so, .dll, or .pyd files in eggs - they get extracted to a cache directory automatically, but those directories don't get added to sys.path.
The mere presence of such files is not enough to cause an egg to be installed unzipped. The package has to be using things like file, the package author has to have marked it zip-unsafe, or easy_install was invoked with a request to install unzipped. As long as none of these conditions apply, the egg should be installed zipped, with dynamic libraries automatically extracted on-demand to the $PYTHON_EGG_CACHE.
But even without egg directories >> ['', 'C:\Python25\Scripts', 'C:\WINDOWS\system32\python25.zip', 'C:\Python25\DLLs', 'C:\Python25\lib', 'C:\Python25\lib\plat-win', ......... 'C:\Python25\lib\site-packages\wx-2.8-msw-unicode'] len(sys.path) == 18 (without eggs) near 18 / 2 = 9 'file not found' errors for every first module import.
That depends on what the module is. In the path you've shown, having a python25.zip would allow only 2 failures before each stdlib import. (Note that an failed zipfile imports are roughly equivalent to a dictionary lookup in time - they don't access the filesystem once the zipfile index is loaded).
So improvement of setuptools will help, but not solve this problem .
Right -- most of your problem will be solved by creating 'C:\WINDOWS\system32\python25.zip', containing the contents of C:\Python25\lib\.
Hm. Interesting, actually. Does anybody know why it's looking for 'C:\WINDOWS\system32\python25.zip'? That seems wrong to me.
- Previous message: [Python-Dev] urllib2 EP + decr. startup time
- Next message: [Python-Dev] urllib2 EP + decr. startup time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]