Hotspot at Last

agree at carltonfields.com agree at carltonfields.com
Wed Apr 28 19:36:37 UTC 1999


Word on /. is that we are taking about roughly a factor of two over the faster JIT VM's presently out there, with higher and lower performance saves depending upon the particular code and application.  

As John notes, relatively straight-line code that does nothing but loops and array references will not benefit much at all due to inherent costs of Java safety, but dynamic, highly object-oriented code likely to run with long session times, for example a servlet server, might exhibit relatively huge savings.

One of the remarks I saw was that this approach goes a long way to reduce the disincentives to write truly reusable code, reducing the pain of message sends dramatically.  Apparently the Hotspot is likewise agressive in performing inlining, both to reduce costs of sends, and to better exploit the benefits of global optimization analysis.

-----Original Message-----
From:	MIME :John.Maloney at disney.com Sent:	Wednesday, April 28, 1999 3:12 PM
To:	squeak at cs.uiuc.edu
Subject:	Re: Hotspot at Last

It *is* somewhat confusing, because Sun has several different
groups working on Java optimization. But the HotSpot group
includes a number of the Self/Animorphic guys, and they really
have made heavy use of dynamic optimization. Plus, they've made
the Java VM work even better than the Self VM. In particular,
the "cold" code performance, before optimization, should be much
better than the Self VM.

I haven't seen any benchmark figures for the released VM, but I
except the HotSpot VM to be fairly impressive compared with
other Java VM's. The Animorphic VM certainly was.

I would NOT expect it to exceed the performance of optimized C.
Java is a much safer language than C (e.g., it always does
array bounds checks and it doesn't allow pointer arithmetic),
and that safety does have a price. However, to me, it is a price
well worth paying for increased reliability.

At 1:10 PM -0500 4/28/99, Dwight Hughes wrote:
>Just off the top of my head, I would think that the lack of runtime type
>info for Java's primitive types would make applying such dynamic
>optimization in any general fashion a rather daunting task in practice.

This isn't a problem, since the type info for built-in types
is known at compile time, and can be retained for use by the
run-time dynamic optimization system.

	-- John



At 9:29 AM -0700 4/28/99, Travis Griggs wrote:
>"Andrew C. Greenberg" wrote:
>
>> <snip>
>> All kidding aside, it will be nice to see a serious, commercial
>> dynamic optimization finally hit the decks.  Unsurprisingly, Sun is
>> already downplaying expectations, suggesting that Hotspot will be
>> more significant on the server side than the client side, at least on
>> the first release.  (Quite true, since the server is likely to stay
>> "warm" longer.)
>>
>> I did find the following bullet points in the white paper very
>> amusing.  It appears that Sun has discovered that the following
>> tricks, in addition to its admittedly way-cool dynamic profiling and
>> adaptive optimizing, can lead to improved peformance in a VM:
>> <snip>
>
>It was my understanding (and this is a somewhat rumour driven
>understanding) that the HotSpot VM, actually employs very little of the
>"dynamic profiling and adaptive optimization" developed by the Sun Self
>project and furthered by the Animorphic HotSpot work. That most of the
>improvements in performance are of the more conventional sort. Maybe
>others know more which would help dispel/validate this "rumour"?



 << File: ENVELOPE.TXT >> 





More information about the Squeak-dev mailing list