[gclist] ref-counting performance cost

Manoj Plakal plakal@cs.wisc.edu
Fri, 1 Sep 2000 17:58:57 -0500

Bill Birch wrote (Sat, Sep 02, 2000 at 12:20:05AM +1000) :
> [Opinion: Despite the issues with reference counting it remains probably the
> most widely used resource management technique. (COM, JavaScript? are some
> famous examples). It is perhaps a shame that with so many of the programmers
> using it that there isn't better research available. ]

	I would second that. Other places where RC is used:
	   - Embedded systems (perhaps real-time too?): The Lucent 
	     Inferno environment's Dis VM uses RC as the primary
             memory management technique.

	   - Distributed environments: probably RC would make sense
	     for distributed object systems like CORBA/COM and so on.

	   - Unix internals (perhaps other OSes too?)

	   - Intepreters: Awk, Perl, Python

	   - Applications: Adobe Photoshop (according to the GC Book),
             are there others?

	   - "Smart-pointer" C++ libraries

	I'm trying to figure out how popular RC really is.
	Would it be correct to say that RC is the most widely used
	"automatic" memory management technique outside academia?
	Or is that a gross generalization?

	Are there examples of important and widely-used commercial
	applications that use mark-sweep/copying collectors? Note
	that I'm not including freely available interpreters/compilers
	of LISP/Scheme/ML/Java/their ilk. I'm more interested in
	complete commercial applications that run on a client or on 
	a server.

	JVMs (on server and client) are the only commercial examples 
	I can think of right now.