[gclist] Boehm GC performance/behaviour characteristics

Eliot Moss moss at cs.umass.edu
Mon Jun 27 07:18:06 PDT 2005

Well, Florian, I haven't done it for that collector, but live size profiles
are a common way of exploring and presenting GC behavior. Most commonly we
use "volume allocated" as the vertical (or "y") axis on a graph. Rather
than cpu or system time, for the horizonatl axis, it is common to use
"bytes allocated so far". It's a kind of measure of time from the
standpoint of the memory management subsystem -- if a program runs a long
time without allocating (or freeing, in a malloc/free analysis), there is
no opportunity for the allocation subsystem / GC to do anything. (I suppose
one could have some kind of time-driven thing going on, and some
sophisticated collectors may do that, but it is not common to present data
that way.) A virtue of using allocation time as the x-axis is that it is
independent of the speed of the computer on which you run, and thus in some
sense more fundamental.

Now if you were paying space rental on the basis of memory pages X time,
then you might want to look at real (or cpu) time. It would lead to an
interesting trade-off analysis: in a smaller memory (heap size), you would
pay rent on fewer pages, but for a longer time (becuase you would GC more

Best wishes -- Eliot
J. Eliot B. Moss, Associate Professor     http://www.cs.umass.edu/~moss    www
Director, Arch. and Lang. Impl. Lab.      +1-413-545-4206                voice
Department of Computer Science            +1-413-695-4226                 cell
140 Governor's Drive, Room 372            +1-413-545-1249                  fax
University of Massachusetts at Amherst    moss at cs.umass.edu              email
Amherst, MA  01003-9264  USA              +1-413-545-3733 Priscilla Coe  sec'y

More information about the GClist mailing list