Is __import__ known to be slow in windows?

John Machin sjmachin at lexicon.net
Fri Nov 30 20:09:35 EST 2007


On Dec 1, 10:08 am, Joshua Kugler <jkug... at bigfoot.com> wrote:
> [I tried googling for this, didn't find anything relevant.]
>
> We've recently been doing some profiling on a project of ours.  It runs
> quite fast on Linux but *really* bogs down on Windows 2003.  We initially
> thought it was the simplejson libraries (we don't use the C extensions) but
> profiling proved otherwise.
>
> We have a function that does some runtime imports via calls to __import__.
> We ran 1000 iterations (we used cProfile) of the application (web app).
> There were eight calls to __import__ per iteration, so 8000 calls total.
> Identical hardware, by the way.
>
> On Linux (Debian Etch, Python 2.5.1)
> Total time was 2.793 CPU seconds, with __import__ using 1.059 seconds of
> that.  So, 37% of the time was spent in import.  Not great, but not a show
> stopper.
>
> On Windows 2003 (R2, Python 2.5.1)
> Total time was 18.532 CPU seconds, with __import__ using 16.330 seconds
> (88%) of that.
>
> So, Linux spends 1.734 seconds on non-import activities, and Windows spends
> 2.202 seconds on non-import activities.  Pretty close.  But 16.3 seconds on
> import!?
>
> Is this a known deficiency in Windows' Python import calls, or is there
> something deeper going on here?
>
> Pointers, suggestions, and URLs welcome.
>
> j

What modules are you __import__ing, and what is platform-dependent in
each?




More information about the Python-list mailing list