[Patches] [ python-Patches-760990 ] add time elapsed to gc debug output
SourceForge.net
noreply@sourceforge.net
Wed, 25 Jun 2003 23:52:56 -0700
Patches item #760990, was opened at 2003-06-26 06:52
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=760990&group_id=5470
Category: Core (C code)
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: David Jeske (jeske)
Assigned to: Nobody/Anonymous (nobody)
Summary: add time elapsed to gc debug output
Initial Comment:
In debugging Python GC actions, it's really useful to
know the amount of time Python spends doing the GC
cycle (i.e. the pause time).
I made a quick change to do this, and I've attached the
patch. It needs to be fixed to be portable. I wanted to
just call floattime() from timemodule.c, but it wasn't
clear how to do this from gcmodule.c. It didn't seem like
the right thing to do to copy the floattime() code from
timemodule.c. I figured I would leave this simple detail to
the experts.
My patch adds the gc time and the max gc time to
the "done" line when debugging is enabled, making it look
like this:
gc: collecting generation 0...
gc: objects in each generation: 702 5608 72421
gc: done. (0.000267006 s, max 0.151359 s)
I'd like to see this adopted in the gc module.
I also think it would be useful if there were a debugging
mode to print out gc sweeps which take longer than a
certain pause time, but I didn't make this change.
However, it's possible to derive this from the logs.
(i.e. gc.debug_pauses(0.2) would print out a line for
each gc pause over 0.2 seconds)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=760990&group_id=5470