This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author arigo
Recipients
Date 2005-09-23.07:46:48
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=4771

I replaced the linked lists with some kind of auto-balacing
trees; the linked lists were creating a huge overhead to
profile large programs.  The reason for not using plain
Python dicts instead is that PyCodeObjects are not very
good at being keys in dicts -- their hash computation takes
ages, and we'd prefer an identity mapping anyway.

The current SVN version is now the first profiler that
works and gives sensible results when profiling the PyPy
translation process.

getstats() is now producing tuples-with-attribute-names
instead of dicts (similar to os.stat()).  This was mostly
motivated by a lack of motivation to introduce error
checking everywhere in the dict-building code, but I think
it's a reasonable change.  There are only a couple of
places left in profile.c still missing checks for error
results or out-of-memory conditions.

The lsprof.py module exposes a simple but minimalistic
interface.  I suggest we keep and document it or a similar
one, but also support -- for compatibility -- the
convoluted interface of the existing profile.py/pstats.py
and/or hotshot, with the option to dump the stats to a file
and reload them.  However I don't think it makes sense to
use exactly the same format as pstats does (as far as I
can guess it doesn't support per-caller information).
History
Date User Action Args
2007-08-23 15:43:08adminlinkissue1212837 messages
2007-08-23 15:43:08admincreate