classification
Title: traceback: formatting a traceback stats the filesystem
Type: Stage:
Components: Versions:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: rbcollins
Priority: normal Keywords:

Created on 2015-01-19 17:55 by rbcollins, last changed 2015-01-19 17:55 by rbcollins.

Messages (1)
msg234318 - (view) Author: Robert Collins (rbcollins) * (Python committer) Date: 2015-01-19 17:55
Discovered in issue 17911, all the traceback calls that render a stack trace end up calling linecache.checkcache, which stats files on disk, making getting a traceback rather more expensive than folk may expect. For "oops, it crashed" situations thats fine, but when used to gather diagnostic details like tulip does, it becomes substantially more wasteful. Since we know when we've reloaded a module, there should be no need to go out to disk at any other time - particularly since if we *haven't* reloaded the module, doing so will just end up showing the wrong source.

Further, PEP 302 source code isn't refreshed when the cache is checked, which can lead to stale code in modules that *have* been reloaded.
History
Date User Action Args
2015-01-19 17:55:08rbcollinscreate