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 jeske
Recipients
Date 2003-06-26.06:52:56
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
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)
History
Date User Action Args
2007-08-23 15:27:57adminlinkissue760990 messages
2007-08-23 15:27:57admincreate