[Python-Dev] GC pauses in CPython

Antoine Pitrou solipsis at pitrou.net
Mon Oct 14 14:34:57 CEST 2013


Le Mon, 14 Oct 2013 14:25:18 +0200,
Maciej Fijalkowski <fijall at gmail.com> a écrit :
> On Mon, Oct 14, 2013 at 2:11 PM, "Martin v. Löwis"
> <martin at v.loewis.de> wrote:
> > Am 14.10.13 13:49, schrieb Maciej Fijalkowski:
> >> I'm working on an incremental GC for PyPy. How do I measure GC
> >> pauses in CPython? (that is, the circular reference searching
> >> stuff)
> >
> > I would instrument the interpreter. The tricky part may be to
> > subtract the time for any resulting finalization (and whether or
> > not to subtract that at all).
> >
> > Regards,
> > Martin
> >
> 
> seems that:
> 
> gc.set_debug(gc.DEBUG_STATS) does the job
> 
> obviously timing gc.collect is quite the opposite of what I'm trying
> to achieve (see how cpython deals with when to collect)

Why "the opposite"? The time of a GC pause in CPython is the time
executing gc.collect(). And most of the time gc.collect() will spend
its time walking live objects, not dead ones, so executing it multiple
times should only introduce a minor bias.

Regards

Antoine.




More information about the Python-Dev mailing list