[Python-Dev] Re: [Python-checkins] CVS: python/dist/src/Modules gcmodule.c,2.9,2.10

Jeremy Hylton jeremy@beopen.com
Fri, 1 Sep 2000 10:24:46 -0400 (EDT)

>>>>> "NS" == Neil Schemenauer <nascheme@enme.ucalgary.ca> writes:

  NS> On Thu, Aug 31, 2000 at 09:01:59PM -0700, Jeremy Hylton wrote:
  >> set the default threshold much higher we don't need to run gc
  >> frequently

  NS> Are you sure setting it that high (5000 as opposed to 100) is a
  NS> good idea?  Did you do any benchmarking?  If with-gc is going to
  NS> be on by default in 2.0 then I would agree with setting it high.
  NS> If the GC is optional then I think it should be left as it is.
  NS> People explicitly enabling the GC obviously have a problem with
  NS> cyclic garbage.

  NS> So, is with-gc going to be default?  At this time I would vote
  NS> no.

For 2.0b1, it will be on by default, which is why I set the threshold
so high.  If we get a lot of problem reports, we can change either
decision for 2.0 final.

Do you disagree?  If so, why?

Even people who do have problems with cyclic garbage don't necessarily
need a collection every 100 allocations.  (Is my understanding of what
the threshold measures correct?)  This threshold causes GC to occur so
frequently that it can happen during the *compilation* of a small
Python script.

Example: The code in Tools/compiler seems to have a cyclic reference
problem, because it's memory consumption drops when GC is enabled.
But the difference in total memory consumption with the threshold at
100 vs. 1000 vs. 5000 is not all that noticable, a few MB.