Ralf Schmitt wrote:
> The problem seems to originate from the module=getmodule(object) in 
> findsource. If I outcomment that code (or rather do a module=None),
> things seem to be back as normal. (linecache.getlines has been called 
> with a None module in python 2.4's inspect.py).

It looks like the problem is the call to getabspath() in getmodule(). This 
happens every time, even if the file name is already in the modulesbyfile 
cache. This calls os.path.abspath() and os.path.normpath() every time that 
inspect.findsource() is called.

That can be fixed by having findsource() pass the filename argument to 
getmodule(), and adding a check of the modulesbyfile cache *before* the call 
to getabspath().

Can you try this patch and see if you get 2.4 level performance back on 
Fernando's test?:

http://www.python.org/sf/1553314

(Assigned to Neal in the hopes of making 2.5rc2)

Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to