John Nagle <[EMAIL PROTECTED]> writes on Mon, 28 Apr 2008 11:41:41 -0700:
> Dieter Maurer wrote:
> > Christian Heimes <[EMAIL PROTECTED]> writes on Sat, 12 Apr 2008 18:47:32 
> > +0200:
> >> [EMAIL PROTECTED] schrieb:
> >>> which made me suggest to use these as defaults, but then
> 
> > We observed similar very bad behaviour -- in a Web application server.
> > Apparently, the standard behaviour is far from optimal when the
> > system contains a large number of objects and occationally, large
> > numbers of objects are created in a short time.
> > We have seen such behaviour during parsing of larger XML documents, for
> > example (in our Web application).
> 
>     Our solution to that was to modify BeautifulSoup to use weak pointers.
> All the pointers towards the root and towards previous parts of the
> document are "weak".  As a result, reference counting alone is sufficient
> to manage the tree.  We still keep GC enabled, but it doesn't find much
> to collect.

It will not help in our setup.

We, too, have almost no cycles -- but the GC does not know this:

  If a large number of objects are created temporarily and not released
  before the generation 1 threshoold is reached, then
  the garbage collector will start collections -- even, if there
  are no or very few cycles.
  A generation 2 garbage collection takes time proportional
  to the total number of (GC aware) objects -- independent of
  the number of cycles.

Dieter
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to