-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incremental cycle GC #108362
Comments
Several stable buildbots fail on the new assertion:
Do you have a quick fix that can be added today? If not, please revert first and then investigate. |
I'll take a look. I can't reproduce the failure locally and it will be tricky to diagnose without a C backtrace. |
@encukou |
…)" This reverts commit 36518e6.
Thank you for the revert. The bigmem buildbot also failed on the change. For next PR fix, please run the bigmem tests ( |
…on (pythonGH-108038)" (python#115132) Revert "pythonGH-108362: Incremental GC implementation (pythonGH-108038)" This reverts commit 36518e6.
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.
Second half of the revert. This reverts commit 1530932.
@markshannon I have two buildbot failures crashing on an assert in assert(gc_list_is_empty(to) ||
gc_old_space(to_tail) == gc_old_space(from_tail)); This is in https://buildbot.python.org/all/#/builders/223/builds/5581/steps/5/logs/stdio and also in https://buildbot.python.org/all/#/builders/469/builds/7667/steps/6/logs/stdio. |
I see it in other PRs too, e.g. |
This reverts commit 1530932.
This reverts commit 1530932.
This reverts commit 1530932.
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 #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 #100403 for more details on the general idea and the algorithm.
Linked PRs
The text was updated successfully, but these errors were encountered: