[gclist] Hotspot slower on first run

Boehm, Hans hboehm@exch.hpl.hp.com
Tue, 19 Oct 1999 09:47:51 -0700

I should have been clearer.  These were runs in separate VMs.  Does the VM
save any state between invocations?  It's also quite possible that this is
really an OS issue that the JVM can do nothing about.

(I would have preferred to run everything under the same OS and same
hardware.  But as far as I know, Hotspot doesn't run on Linux.  I haven't
tried to install gcj on NT.  And a VM write barrier under NT introduces some
other performance issues I would rather dodge for now.)


-----Original Message-----
From: Eliot Moss [mailto:moss@emperor.cs.umass.edu]
Sent: Tuesday, October 19, 1999 4:56 AM
To: gclist@iecc.com
Subject: [gclist] Hotspot slower on first run

An earlier message commented that Hotspot was slower on the first run of a
(gc) benchmark, and wondered why. My guess is that it's the compilation
technology. Hotspot interprets bytecodes until/unless a method (or maybe
even a loop in a method?) is executed more than a threshold number of times
(I have heard the number 1000 whispered :-), and then it compiles the code
to native code. Of course the gc itself is presumably all in native code
:-). In any case, I do not find that behavior surprising.

-- Eliot
J. Eliot B. Moss, Associate Professor      http://www.cs.umass.edu/~moss
Computer Science Department, LGRC          +1-413-545-4206
University of Massachusetts, Box 34610     +1-413-545-1249
Amherst MA  01003-4610  USA                moss@cs.umass.edu