Return-Path: Delivered-To: never@matavnet.hu Received: (qmail 4049 invoked from network); 6 Oct 1999 10:00:28 +0200 Received: from fm3.freemail.hu (HELO freemail.c3.hu) (194.38.105.13) by matavnet.hu with SMTP; 6 Oct 1999 10:00:28 +0200 Received: (qmail 22680 invoked by uid 41845); 6 Oct 1999 08:00:28 -0000 Delivered-To: never@freemail.hu Received: (qmail 19279 invoked from network); 6 Oct 1999 07:57:41 -0000 Received: from parrot.python.org (HELO python.org) (132.151.1.90) by fm3.freemail.hu with SMTP; 6 Oct 1999 09:57:41 +0200 Received: from python.org (localhost [127.0.0.1]) by python.org (8.9.1a/8.9.1) with ESMTP id CAA10231; Wed, 6 Oct 1999 02:45:00 -0400 (EDT) Received: from freemail.c3.hu (fm3.freemail.hu [194.38.105.13]) by python.org (8.9.1a/8.9.1) with SMTP id CAA10140 for ; Wed, 6 Oct 1999 02:43:45 -0400 (EDT) Received: (qmail 8196 invoked by uid 329198); 6 Oct 1999 06:43:57 -0000 Date: 6 Oct 1999 06:43:57 -0000 Message-ID: <19991006064357.8195.qmail@freemail.c3.hu> MIME-Version: 1.0 To: python-list@python.org Subject: ANN: Portable Garbage Collector For Python From: xr Sender: python-list-admin@python.org Errors-To: python-list-admin@python.org X-Mailman-Version: 1.0.2 Precedence: bulk List-Id: General discussion list for the Python programming language X-BeenThere: python-list@python.org WHAT IT IS It is an experimental portable cooperative garbage collector for CPython 1.5.2. CURRENT STATUS At the moment it is a developers only version. Platforms that use the GNU configure script in their build process are supported, for other platforms an update is needed to their build process. Although the code should be fairly stable I do expect some bugs. FEATURES Integrated into the build process (configure). Can be called from Python code as sys.gc(). Can be used as a debugging tool to track down unreachable cycles. In this case garbage objects are collected into the list sys.garbage where they can be examined. Can be used to [automatically] delete unreachable objects. Selected types can keep the original reference counted behaviour although deallocation of the objects might be delayed (usually only a little). _tkinter is supported. According to pybench-0.6 the modified interpreter is only about 30% slower than the original one built from py152.tgz. After some optimization it can be (slightly?) faster. THINGS TO DO Polish my English. Write GOOD documentation that makes it possible to understand its internals. Fix _tkinter: I expect some memory leaks there (have not tested thoroughly). Add threading support (it should work, but it is not tested). Update more modules. Bring it up to date with the developer version in the CVS. HOW TO GET IT The patch can be downloaded from the following URL: http://www.lib.bke.hu/~xr/pygc-0.1.tgz The size of the file is approximately 50k. FEEDBACK If you have ANY comments about the patch do not hesitate to write to the address pygc@freemail.hu. Bug reports are especially welcome. THANKS TO the following people for their [mostly in]direct hints and ideas in the newsgroup. Aahz Maruch (aahz@netcom.com), Graham Matthews (graham@sloth.math.uga.edu), Greg Gritton (ggritton@ichips.intel.com), Guido van Rossum (guido@python.org), Samual M. Rushing (rushing@nightmare.com), Skip Montanaro (skip@calendar.com), Tim Peters (tim_one@email.msn.com), Vladimir Marangozov (Vladimir.Marangozov@inrialpes.fr), ??? (salvador@my-deja.com), and many more. -- http://www.python.org/mailman/listinfo/python-list