GH-108362: Revert "GH-108362: Incremental GC implementation (GH-108038)" (#115132)

Revert "GH-108362: Incremental GC implementation (GH-108038)"

This reverts commit 36518e69d7.
This commit is contained in:
Mark Shannon 2024-02-07 12:38:34 +00:00 • committed by GitHub
parent d0322fdf2c
commit 8a3c499ffe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 446 additions and 701 deletions

View file

@ -92,10 +92,6 @@ Interpreter improvements:
New Features
============
* The cyclic garbage collector is now incremental.
This means that maximum pause times are reduced,
by an order of magnitude or more for larger heaps.
Improved Error Messages
-----------------------
@ -105,13 +101,6 @@ Improved Error Messages
variables. See also :ref:`using-on-controlling-color`.
(Contributed by Pablo Galindo Salgado in :gh:`112730`.)
Incremental Garbage Collection
------------------------------
* The cycle garbage collector is now incremental.
This means that maximum pause times are reduced
by an order of magnitude or more for larger heaps.
Other Language Changes
======================
@ -257,29 +246,6 @@ fractions
sign handling, minimum width and grouping. (Contributed by Mark Dickinson
in :gh:`111320`.)
gc
--
* The cyclic garbage collector is now incremental, which changes the meanings
of the results of :meth:`gc.get_threshold` and :meth:`gc.get_threshold` as
well as :meth:`gc.get_count` and :meth:`gc.get_stats`.
* :meth:`gc.get_threshold` returns a three-tuple for backwards compatibility,
the first value is the threshold for young collections, as before, the second
value determines the rate at which the old collection is scanned; the
default is 10 and higher values mean that the old collection is scanned more slowly.
The third value is meangless and is always zero.
* :meth:`gc.set_threshold` ignores any items after the second.
* :meth:`gc.get_count` and :meth:`gc.get_stats`.
These functions return the same format of results as before.
The only difference is that instead of the results refering to
the young, aging and old generations, the results refer to the
young generation and the aging and collecting spaces of the old generation.
In summary, code that attempted to manipulate the behavior of the cycle GC may
not work as well as intended, but it is very unlikely to harmful.
All other code will work just fine.
Uses should avoid calling :meth:`gc.collect` unless their workload is episodic,
but that has always been the case to some extent.
glob
----