This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
>>>>> "Telford" == Telford Tendys <telford@triangle.triode.net.au> writes: Telford> * you can make the garbage collector faster by giving it less Telford> work to do. Telford> * a lot of the garbage that needs collecting is objects that Telford> are used once and then discarded -- since we know that such Telford> objects only have a single reference to them, once that Telford> single reference is gone it is possible for these objects to Telford> take a short-cut through collection. I am not sure that there is any possible short-cuts. Discovering that a single reference disappear is not enough by itself. Even though we know at de-reference time, that the object in question is now garbage, it is still part of the heap. When the collector runs, it must scan through the *entire* heap and thus must consider the "early-dead" objects as well as those marked (or not marked) ordinarily. This is precisely the problem with mark/sweep collectors, as I understand it. The effort is proportional to *all* the data, dead as well as alive. Hmm, doesn't this mean that the sweep phase basically is constant, depending only on heap size? ---------------------------+-------------------------------------------------- Christian Lynbech | Telebit Communications A/S Fax: +45 8628 8186 | Fabrik 11, DK-8260 Viby J Phone: +45 8628 8177 + 28 | email: chl@tbit.dk --- URL: http://www.telebit.dk ---------------------------+-------------------------------------------------- Hit the philistines three times over the head with the Elisp reference manual. - petonic@hal.com (Michael A. Petonic)