[Python-Dev] inspect.py very slow under 2.5
Ralf Schmitt
ralf at brainbot.com
Wed Sep 6 13:22:45 CEST 2006
Nick Coghlan wrote:
>
> 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?:
no. this doesn't work. getmodule always iterates over
sys.modules.values() and only returns None afterwards.
One would have to cache the bad file value, or only inspect new/changed
modules from sys.modules.
>
> http://www.python.org/sf/1553314
>
> (Assigned to Neal in the hopes of making 2.5rc2)
>
> Cheers,
> Nick.
>
More information about the Python-Dev
mailing list