pythonintrospectioninspect

Python inspect.stack is slow


I was just profiling my Python program to see why it seemed to be rather slow. I discovered that the majority of its running time was spent in the inspect.stack() method (for outputting debug messages with modules and line numbers), at 0.005 seconds per call. This seems rather high; is inspect.stack really this slow, or could something be wrong with my program?


Solution

  • inspect.stack() does two things:

    To switch off the file context loading, set the context parameter to 0:

    inspect.stack(0)
    

    Even with context set to 0, you still incur some filesystem access per frame as the filename is determined and verified to exist for each frame.