module import performance question
Jeff Sykes
jeff at cowz.com
Tue Nov 11 14:58:36 EST 2003
Thanks, Emile, that's a good idea. I found another issue, too. See my
response to another poster below:
>> I think there was a different culprit, though. After some more
>> dilligent logging, I realized that immediately after import I
>> called upon an attribute of the imported module that wouldn't
>> _necessarily_ be present. When the attribute was not present,
>> it raised an exception, which I caught. This exception handling
>> was a real performance anchor! I now check hasattr() before I
>> execute this block of code, and this has helped performance
>> significantly.
>>
>> Here's a snip of the block that occured right after import:
>>
>> try:
>> # next line was not there before
>> if hasattr(dyn_blocks[key], "BUFFER_ON"):
>> context.setBufferFlag(dyn_blocks[key].BUFFER_ON)
>> except:
>> Log.stacktrace(Log.ERROR)
>>
>> I guess the lesson I learned is don't use exception handling
>> unnecessarily. Which I know not to do anyway. Sigh. Back to
>> school for me.
"Emile van Sebille" <emile at fenx.com> wrote in message news:<boqutc$1gl3q2$1 at ID-11957.news.uni-berlin.de>...
> "Jeff Sykes" <jeff at cowz.com> wrote in message
> news:729b56c7.0311102210.4869d4f6 at posting.google.com...
> > I have a cgi script that imports modules based on a user config
> file.
> > I am suffering some performance problems when I import these
> modules.
> > Some logging revealed that it seems to be taking about 1.3 seconds
> to
> > import these modules. This is running on a Windows 2000 box with a
> > Pentium II 400 processor, Python 2.1, Apache 1.3.19 as the web
> server.
> > I don't need screaming performance numbers, but this time is
> > excessive. Is it me, or does that number seem kind of slow?
>
> How many modules are being imported?
>
> > Any code
> > optimizations or recommendations?
>
> Don't append to sys.path. Try sys.path.insert(0,addlpath). Then the
> import will get an immediate hit and always the right module rather
> than stepping through all the preceeding directories.
>
> HTH,
>
>
> Emile van Sebille
> emile at fenx.com
More information about the Python-list
mailing list