Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!ai-lab!life!tmb From: tmb@ai.mit.edu (Thomas M. Breuel) Newsgroups: comp.lang.c++ Subject: Re: reference counting vs. scanning GC (was: Implementing LISP in C++) Message-ID: Date: 26 Apr 91 05:42:57 GMT References: <28301@neptune.inf.ethz.ch> Sender: news@ai.mit.edu Organization: MIT Artificial Intelligence Lab Lines: 20 In-reply-to: marti@mint.inf.ethz.ch's message of 25 Apr 91 16:30:34 GMT >For C++, the implication of this is that, while it may make sense >to use scanning garbage collectors for most of the garbage, reference >counting is a sensible technique for large floating point and integer >vectors, which is all I was claiming to begin with. What exactly means "sensible"? All _I_ was saying is that in my C++ application, I had "large" bit vectors and large inter vectors and found that running times using a mark-and-sweep collector were about 60% as opposed to doing reference counting and deallocation myself. I am a little unsure if this means that ref counting is sensible in this very situation ... And I have had exactly the opposite experience. Perhaps our notions of "large" and "frequent deallocation" are different. As I said before, I am concerned with arrays that are a significant fraction of heap size (about 1M out of 16M) and that are written and read only a few times during their lifetime. Maybe you could be more specific about your application.