[Python-Dev] iterzip()

Tim Peters tim.one@comcast.net
Mon, 29 Apr 2002 16:56:43 -0400

[Neil Schemenauer]
> That's the dirty culprit. :-)  With the GC disabled:
>   justpush   0.81
>    justzip   0.75
> Perhaps we should raise the default threshold.

A fixed threshold of any size will leave us vulnerable to quadratic-time
cases.  Proportional growth wouldn't, though.  For example, if a round of gc
didn't find anything to collect, or found very little, we could boost the
threshold by 25% (that's a right shift by 2 and an add <wink>).  Contrarily,
when gc finds lots of stuff to collect, reduce the threshold.  This adjusts
itself to a program's runtime characteristics.  I suspect most long-running
programs enjoy vast stretches of time over which the second derivative of
their gc behavior is relatively constant <wink>.