From 6bf4946e0bc8599a1258c5107f7eece2efa70925 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 3 Oct 2015 22:17:29 -0400 Subject: No more speed penalty for settrace(gettrace()). #397. --- coverage/ctracer/tracer.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'coverage/ctracer/tracer.c') diff --git a/coverage/ctracer/tracer.c b/coverage/ctracer/tracer.c index 23472575..e5f39d09 100644 --- a/coverage/ctracer/tracer.c +++ b/coverage/ctracer/tracer.c @@ -903,6 +903,10 @@ CTracer_call(CTracer *self, PyObject *args, PyObject *kwds) /* Clean up. */ frame->f_lineno = orig_lineno; + /* For better speed, install ourselves the C way so that future calls go + directly to CTracer_trace, without this intermediate function. */ + PyEval_SetTrace((Py_tracefunc)CTracer_trace, (PyObject*)self); + done: return ret; } -- cgit v1.2.1