On Thu, 6 Jun 2019 17:26:17 -0500 Tim Peters <tim.pet...@gmail.com> wrote: > > The doubly linked lists in gc primarily support efficient > _partitioning_ of objects for gc's purposes (a union of disjoint sets, > with constant-time moving of an object from one set to another, and > constant-time union of disjoint sets). "All objects" is almost never > interesting to it (it is only when the oldest non-frozen generation is > being collected).
Right. But the oldest generation is precisely the pain point, since full collections can induce very long pauses. IOW, perhaps it would be fine to keep dedicated lists for the young generations, while doing a heap walk for the full collection case. > In any case, it appears to be "a feature" now that people can use any > flavor of the malloc family they like in CPython, so I expect that any > attempt to tie cyclic gc to a specific flavor of malloc would be a > very hard sell. Depends on the benefits of course ;-) Most people use some pre-built binaries that "naturally" come with obmalloc enabled. Of course, it's only a very small minority of applications that hit real performance issues with the GC - and in probably many of those cases tuning the full collection threshold can alleviate the problem still. Regards Antoine. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ZQEHZTW77MFCKCJMR7XB4AVBF6KCB3ZW/