[Python-3000] what to do with profilers in the stdlib

Neal Norwitz nnorwitz at gmail.com
Sat Aug 25 00:32:01 CEST 2007


We ought to clean up the profiling modules.  There was a long
discussion about this here:

http://mail.python.org/pipermail/python-dev/2005-November/058212.html

Much of the discussion revolved around whether to add lsprof in the
stdlib.  That's been resolved.  It was added.  Now what do we do?

I suggest merging profile and cProfile (which uses _lsprof) similar to
how stringio and pickle are being merged.  This leaves hotshot as odd
man out.  We should remove it.  If we don't remove it, we should try
to merge these modules so they have the same API and capabilities as
much as possible, even if they work in different ways.

The hotshot doc states:

Note

The hotshot module focuses on minimizing the overhead while profiling,
at the expense of long data post-processing times. For common usages
it is recommended to use cProfile instead. hotshot is not maintained
and might be removed from the standard library in the future.

Caveat

The hotshot profiler does not yet work well with threads. It is useful
to use an unthreaded script to run the profiler over the code you're
interested in measuring if at all possible.

n


More information about the Python-3000 mailing list