classification
Title: New gc work
Type: feature request Stage:
Components: Interpreter Core Versions: Python 3.1, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: pitrou, tim_one (2)
Priority: normal Keywords

Created on 2001-11-03 20:07 by tim_one, last changed 2008-12-16 21:41 by pitrou.

Messages (2)
msg61071 - (view) Author: Tim Peters (tim_one) Date: 2001-11-03 20:07
Here are comments from Guido, taken from a patch 
report that's been closed:

"""
In a discussion before lunch, Tim suggested that when 
Python exits (or better, in Py_Finalize()) a check 
could be made if there is any garbage in gc.garbage, 
and if so, a warning about this should be printed to 
stderr. That seems a nice feature.

In that same discussion, I realized that the module 
cleanup behavior (where all globals in a module are 
set to None when the module object is deallocated) is 
probably no longer necessary now that we have GC.
"""

The point to #1 is that we let objects in unreachable 
cycles leak when they have __del__ methods.  While we 
give the user ways to know about that and to clean 
them up (via exposing the trash in gc.garbage), a non-
expert user (or an expert who simply isn't thinking 
about this -- whatever, you don't know unless you 
specifically look for it) may never know that they're 
leaking.
msg77936 - (view) Author: Antoine Pitrou (pitrou) Date: 2008-12-16 21:41
Although this dates back to 2001, I think this might still be useful.
History
Date User Action Args
2008-12-16 21:41:32pitrousetnosy: + pitrou
messages: + msg77936
components: + Interpreter Core, - None
versions: + Python 3.1, Python 2.7
2001-11-03 20:07:42tim_onecreate