[Python-Dev] bdb.py trace C implementation? (original) (raw)

David Christian david.christian at gmail.com
Wed Apr 1 23:49:31 CEST 2009


Hi all, I've recently written a C version of the trace function used in figleaf (the coverage tool written by Titus). After a few rewrites to add in caching, etc, it gives users a significant speedup. One person stated that switching to the C version caused coverage to decrease from a 442% slowdown to only a 56% slowdown.

You can see my C implementation at: http://github.com/ctb/figleaf/blob/e077155956c288b68704b09889ebcd675ba02240/figleaf/_coverage.c

(Specific comments about the implementation welcome off-list).

I'd like to attempt something similar for bdb.py (only for the trace function). A naive C trace function which duplicated the current python function should speed up bdb significantly. I would initially write the smallest part of the C implementation that I could. Basically the tracing function would call back out to python at any point where a line requires action.

I'd be willing to maintain the C implementation. I would be willing to write those tests that are possible as well.

Is this something that would be likely to be accepted?

Thanks, David Christian Senior Software Engineer rPath, Inc.



More information about the Python-Dev mailing list