• Fred Drake's avatar
    Revise the interface to the profiling and tracing support for the · 5755ce69
    Fred Drake yazdı
    Python interpreter.
    
    This change adds two new C-level APIs:  PyEval_SetProfile() and
    PyEval_SetTrace().  These can be used to install profile and trace
    functions implemented in C, which can operate at much higher speeds
    than Python-based functions.  The overhead for calling a C-based
    profile function is a very small fraction of a percent of the overhead
    involved in calling a Python-based function.
    
    The machinery required to call a Python-based profile or trace
    function been moved to sysmodule.c, where sys.setprofile() and
    sys.setprofile() simply become users of the new interface.
    
    As a side effect, SF bug #436058 is fixed; there is no longer a
    _PyTrace_Init() function to declare.
    5755ce69
sysmodule.c 26.5 KB