GH-108362: Incremental GC implementation - #116206
Conversation
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 912ebc1 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
!buildbot bigmem |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 912ebc1 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 3c1ef42 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
!buildbot bigmem |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 3c1ef42 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
|
!buildbot bigmem |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit f4f04d6 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
|
Note on the test failures:
|
Second half of the revert. This reverts commit 1530932.
In pythonGH-116206, the comment about moving reachable objects to next generation got moved from its original place to a place where there is no code below it. This PR puts it back where the actual movement of rechable objects happen to the next generation.
This reverts commit 1530932.
This reverts commit 1530932.
This reverts commit 1530932.
In GH-116206, the comment about moving reachable objects to next generation got moved from its original place to a place where there is no code below it. Put the comment back to where the actual movement of reachable objects happens.
In pythonGH-116206, the comment about moving reachable objects to next generation got moved from its original place to a place where there is no code below it. Put the comment back to where the actual movement of reachable objects happens.

Implements incremental cyclic GC.
Instead of traversing one generation on each collection, we traverse the young generation and the oldest part of the old generation. By traversing the old generation a chunk at a time, we keep pause times down a lot.
See faster-cpython/ideas#613 for the idea and algorithm.
📚 Documentation preview 📚: https://cpython-previews--116206.org.readthedocs.build/