[gclist] ref-counting performance cost

Kragen Sitaker kragen@pobox.com
Wed, 30 Aug 2000 00:23:25 -0400 (EDT)

Geetha writes:
> We had implemented a Java Virtual Machine (from scratch) for vxWorks, HPUX and
> Linux. Since the JVM was meant  for an embedded platforms, and needed to be
> customizable, we had several GC algorithms implemented. (Ref Cnt, variants of
> Mark/Sweep, Incr GC ).
> I have some performance numbers for Ref Cnt and Mark Sweep on vxWorks. Perhaps,
> slide2 may be of more relevance for you. This slide actually shows the time
> taken by an application with Ref Cnt and without (but with mark/sweep).
> However, I do not have numbers that show perf without 'any' GC (since the apps
> could not run!).

I take it they were allocating so much memory that you would have run
out of core if you hadn't GCed?

> The graphs are self explanatory. SmallWeb (now ChaiServer, http://chai.hp.com)
> was actually our target application. VolanoMark is basically a server
> benchmark with a lot of network related calls and Ding Dang server is another
> WebServer in Java from the GameLan site.
> Please note that these numbers were obtained almost 2.5 yrs ago, Mar 1998.
> If anyone is interested in the JVM or want to try out more results, please let
> me know.

Can you give some more details on the implementations and the figures?
- Did your applications all really spend 1/180th of their time in the GC
  in the worst case (i.e. 300 ms out of every 60 seconds?) or am I
  misunderstanding the graph?
- Was the ref-counted version a ref-counting optimization to a
  mark-and-sweep algorithm?  (The legend seems to imply so.)
- How did you measure the data --- with timer interrupts?  What was
  considered to be "in the GC" in each case?
- What were the VolanoMark results?
- Why didn't the ref-counting GC free all the garbage?  Were you using
  a different definition of "garbage" than the pointer-unreachability

<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Perilous to all of us are the devices of an art deeper than we ourselves
                -- Gandalf the Grey [J.R.R. Tolkien, "Lord of the Rings"]