[gclist] ref-counting performance cost

Richard A. O'Keefe ok@atlas.otago.ac.nz
Wed, 11 Oct 2000 20:25:32 +1300 (NZDT)


I wrote:
	> For what it's worth, Inferno (which is, or was, freely available)

Greg Hudson wrote:
	I don't think Inferno has ever been freely available.  At the moment
	it appears you can get a source code license for $300, or $150 if
	you're in academia.
	
I have a copy, dating from March 1997.
It was certainly freely available then.

	> The job of a PhD is to produce *knowledge*.
	
	But Ph.D. theses are usually extremely focused.  Restricting a study
	of garbage collection performance to one language seems reasonable,
	although I'm no Ph.D. advisor.
	
If that is the most fruitful way to acquire knowledge, yes.
Choosing that language on grounds (popularity) having nothing to do
with the problem at hand does NOT seem reasonable.

	> Let's suppose you did come up with a great new GC method for Java
	> (and the full Java sources are or were available for academic
	> research, so you could work with "the real thing").  There's still
	> no reason to expect that anyone would ever adopt it.
	
	You seem to be very focused on treating languages as implementations
	rather than specifications, 

Wrong.  I mention one specific complete implementation which I happen to
know to be academically available (because at my previous university I
got it for a student), and suddenly I'm focussed on languages as
implementations?  That doesn't make sense.

	a world view which works well for Perl or
	Erlang or Python but not as well for Java or C.

Well, no, there are multiple implementations of Erlang as well.
Off-hand I can think of three completely independent implementations,
one of them having three different compilers (two from one place and
one from another) with a common run-time.

	There are multiple
	implementations of Java, some of which are freely available.

The world view that language = implementation (a world view I happen NOT
to have, thank you very much) *in practice* comes very close to fitting
Java, in large part because so much of Java is libraries (as indeed so
much of the good stuff in Erlang/OTP is libraries).  I don't know about
the Java implementation inside Internet Explorer, but the one inside
Netscape is certainly Sun's.

	Unless interest in Java wanes over time (always a possibility),
	a superior garbage collection method for Java would always be
	interesting to a new implementor, to the gcj team, etc..
	
Oh, why?  There have _already_ been published papers about improvements to
Java runtimes, including some from Sun.  Have they in fact taken the Java
world by storm?  I grant you that free Java systems, some of which I am
aware of, could well take up a new gc, but commercial Java vendors have to
scramble as fast as they can to keep up (well, I wish that MRJ were up to
date, but it isn't; some vendors _don't_ keep up), so I don't really see
them fixing something that ain't broke (or at least, that customers think
ain't broke).

With the rise of interest in Microsoft .NET (which I do not know enough
about to praise or criticise), it seems likely that interest in Java *will*
wane, or at least be rivalled.

    Hacker, stay your hand,
      the future is not funny;
    there's a new noise in the land,
      alas, it is not Sunny.