]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Revise the interface to the profiling and tracing support for the
authorFred Drake <fdrake@acm.org>
Wed, 27 Jun 2001 19:19:46 +0000 (19:19 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 27 Jun 2001 19:19:46 +0000 (19:19 +0000)
commit5755ce693dfc497389ab89e8ae0e62c3cc89d4ff
tree1a6eac014a12e3c1094ac93cc976c621d3de9870
parent55fb6e037170ddb645c552079ec8fe6c042de542
Revise the interface to the profiling and tracing support for the
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.
Python/ceval.c
Python/pystate.c
Python/sysmodule.c