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. > _______________________________________________ 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