Martin v. Löwis wrote:
Under my proposal, 10 middle collections must have passed, PLUS the number of survivor objects from the middle generation must exceed 10% of the number of objects in the oldest generation.
What happens if the program enters a phase where it's not producing any new cyclic garbage, but is breaking references among the old objects in such a way that cycles of them are being left behind? Under this rule, the oldest generation would never be scanned, so those cycles would never be collected.
As a consequence, garbage collection becomes less frequent as the number of objects on the heap grows
Wouldn't it be simpler just to base the collection frequency directly on the total number of objects in the heap? From what another poster said, this seems to be what emacs does. -- Greg _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com