The current GC is both inefficient and can have very long pause times. The efficiency can be improved by tweaking thresholds or by using fewer generations (see https://github.com/python/cpython/issues/100403), but that does nothing to shorten pause times. We should use an incremental collector, it can improve efficiency *and* hugely reduce maximum pause times. See https://github.com/python/cpython/issues/100403 for more details on the general idea and the algorithm. <!-- gh-linked-prs --> ### Linked PRs * gh-108038 * gh-115084 * gh-115132 * gh-116199 * gh-116206 * gh-125453 * gh-136851 <!-- /gh-linked-prs -->