The changelog for mustang build 81 shows tiered compilation as being completed (done and fixed in the 'new features' section). Tiered compilation means that both the client-mode and server-mode compilers are present in the same VM, such that code can be compiled quickly by the client-mode compiler, but further optimized with the server-mode compiler if needed.
The client compiler is faster than the server-mode compiler, but the server-mode compiler normally generates better code. It's not clear how the memory adjustments made by choosing the client or server compilers are addressed by tiered compilation.
Has anyone run this build and validated that this feature is really there? Has anyone seen any performance benchmarks of the new tiered compilation system?
-
Tiered Compilation in Mustang b81? (16 messages)
- Posted by: Michael McCutcheon
- Posted on: April 25 2006 11:05 EDT
Threaded Messages (16)
- Tiered Compilation in Mustang b81? by Gili _ on April 26 2006 09:57 EDT
- More info... by Michael McCutcheon on April 26 2006 10:01 EDT
- More info... by Henrik Stahl on April 26 2006 14:21 EDT
-
More info... by Konstantin Ignatyev on April 26 2006 02:38 EDT
-
More info... by Tero Vaananen on April 26 2006 03:15 EDT
-
JRockit version ? by Godefroy Riegler on April 26 2006 05:22 EDT
-
JRockit version ? by Tero Vaananen on April 26 2006 11:45 EDT
- JRockit version ? by Henrik Stahl on April 27 2006 02:32 EDT
-
JRockit version ? by Tero Vaananen on April 26 2006 11:45 EDT
- More info... by MIKE JASNOWSKI on April 26 2006 07:51 EDT
- More info... by Henri Dupre on April 28 2006 01:45 EDT
-
JRockit version ? by Godefroy Riegler on April 26 2006 05:22 EDT
-
More info... by Tero Vaananen on April 26 2006 03:15 EDT
-
More info... by Diego Visentin on April 26 2006 07:57 EDT
- More info... by Thomas M??der on April 27 2006 03:15 EDT
-
More info... by Rickard Oberg on April 27 2006 10:22 EDT
-
More info... by Henrik Stahl on April 27 2006 12:20 EDT
- More info... by Henrik Stahl on April 27 2006 01:02 EDT
- XStream with JRockit by Henrik Stahl on May 08 2006 05:18 EDT
-
More info... by Henrik Stahl on April 27 2006 12:20 EDT
-
More info... by Konstantin Ignatyev on April 26 2006 02:38 EDT
- More info... by Henrik Stahl on April 26 2006 14:21 EDT
-
Tiered Compilation in Mustang b81?[ Go to top ]
- Posted by: Gili _
- Posted on: April 26 2006 09:57 EDT
- in response to Michael McCutcheon
The bug report says this is only for Solaris, not Windows :( -
More info...[ Go to top ]
- Posted by: Michael McCutcheon
- Posted on: April 26 2006 10:01 EDT
- in response to Michael McCutcheon
For more info see:
http://www.javagaming.org/forums/index.php?topic=13429.0
and
http://blogs.sun.com/fatcatair/20050826
Mike -
More info...[ Go to top ]
- Posted by: Henrik Stahl
- Posted on: April 26 2006 14:21 EDT
- in response to Michael McCutcheon
*lol*
This is what JRockit has done for years. It has a "quick-and-dirty" JIT and then an optimizing compiler that is used on hot methods. The only difference is that it doesn't have an interpreter (which explains the longer startup times). Still, I fire up WLS with JRockit in ~20 seconds on my old laptop and that includes JIT compiling some 20,000+ methods, so maybe it's not that bad :D
Anyone know how J9 does it? I seem to recall IBM having a multi-tiered compiler now. -
More info...[ Go to top ]
- Posted by: Konstantin Ignatyev
- Posted on: April 26 2006 14:38 EDT
- in response to Henrik Stahl
*lol*This is what JRockit has done for years.
Perhaps, but every time I tried JRockit it crashed soon after the start when Sun's JVM kept working...
Matter of perception, but I have WAY more confidence in Sun's JVM than in any other JVM out there. -
More info...[ Go to top ]
- Posted by: Tero Vaananen
- Posted on: April 26 2006 15:15 EDT
- in response to Konstantin Ignatyev
Perhaps, but every time I tried JRockit it crashed soon after the start when Sun's JVM kept working...Matter of perception, but I have WAY more confidence in Sun's JVM than in any other JVM out there.
Strangely enough, this is the same experience I have had with JRockit; it just won't stay up. -
JRockit version ?[ Go to top ]
- Posted by: Godefroy Riegler
- Posted on: April 26 2006 17:22 EDT
- in response to Tero Vaananen
Can you specify the version of JRockit encountering such behavior ?
Thanks,
GR. -
JRockit version ?[ Go to top ]
- Posted by: Tero Vaananen
- Posted on: April 26 2006 23:45 EDT
- in response to Godefroy Riegler
Can you specify the version of JRockit encountering such behavior ?Thanks,GR.
I could not tell the exact version or build. I remember trying a couple of versions during the JDK 1.4.2 era. I have not tried the latest versions so perhaps the situation has changed since then.
The versions that I did try, all crashed on me regularly so I had to give up using them.
I was running web publishing with a couple of thousand JSP templates, running Tomcat. The batch jobs were running for maybe 5 hours every night, JRockit just never made it through. As far as I could tell, the dumps I was getting were all about Java threading. I did not analyze it further. -
JRockit version ?[ Go to top ]
- Posted by: Henrik Stahl
- Posted on: April 27 2006 02:32 EDT
- in response to Tero Vaananen
Later versions of JRockit are significantly more stable than a few years ago. I frequently hear from people who have switched from the Sun JVM because they experience that JRockit is better for their apps. One example of an old issue with the Sun JVM is PermSpace tuning, which is not needed with JRockit (nor J9, IIRC).
However, I would not use this as an argument that JRockit is more stable than Sun (or IBM). All major JVMs are very mature products by now. I think it's more a matter of "different JVM, different bugs".
Henrik, BEA JRockit team -
More info...[ Go to top ]
- Posted by: MIKE JASNOWSKI
- Posted on: April 26 2006 19:51 EDT
- in response to Tero Vaananen
Perhaps, but every time I tried JRockit it crashed soon after the start when Sun's JVM kept working...Matter of perception, but I have WAY more confidence in Sun's JVM than in any other JVM out there.
Strangely enough, this is the same experience I have had with JRockit; it just won't stay up.
<disclaimer> I'm a BEA engineer </disclaimer>
Not so strangely for me, I have the opposite experience. I've been using JRockit as an engineer for awhile now. I have not had any serious problems whatsoever. I routinely run builds and the application I work on for several hours at a time, sometimes running builds overnight. Of course I've also had similar experience with Sun JDK. But I've been using JRockit for at least the past year exclusively.
Granted different environments may yield different results, but I'm running it on Windows XP SP2 laptop with 2GB Ram. -
More info...[ Go to top ]
- Posted by: Henri Dupre
- Posted on: April 28 2006 13:45 EDT
- in response to Tero Vaananen
Perhaps, but every time I tried JRockit it crashed soon after the start when Sun's JVM kept working...Matter of perception, but I have WAY more confidence in Sun's JVM than in any other JVM out there.
Strangely enough, this is the same experience I have had with JRockit; it just won't stay up.
We recently moved our webserver to the latest JRockit and that far we are very happy with it. Not that it is crash free (nor either any other JVM in our experience), but everything is running very fast and I really like the autonomic memory management of JRockit. It makes life easier. -
More info...[ Go to top ]
- Posted by: Diego Visentin
- Posted on: April 26 2006 19:57 EDT
- in response to Henrik Stahl
Anyone know how J9 does it? I seem to recall IBM having a multi-tiered compiler now.
You can find some info about IBM JVM 5.0 (bases on J9) at http://download.boulder.ibm.com/ibmdl/pub/software/dw/jdk/diagnosis/diag50.pdf
Ciao, Diego -
More info...[ Go to top ]
- Posted by: Thomas M??der
- Posted on: April 27 2006 03:15 EDT
- in response to Diego Visentin
J9 has been able to recompile at higher optimization for quite some time (as well as AOT compilation). Nothing to see her folks...move along.... -
More info...[ Go to top ]
- Posted by: Rickard Oberg
- Posted on: April 27 2006 10:22 EDT
- in response to Henrik Stahl
I've tried JRockit a number of times, and have had various problems with it. A long time ago, it was extremely fast, but crashed extremely fast too. Then, it didn't work with CGLIB which is what we use for our AOP madness. I hear that CGLIB is used in some other moderately popular frameworks too. Now that works (thanks to BEA support for that), and I just now managed to get our portal product running on JRockit for the first time, with the latest JRockit.
Only to have it barf on XStream. Now, in some sense this is XStream's fault, but since XStream is reasonably popular as far as a XML-handling tool, it would be very much appreciated if some BEA engineer sacrificed the three hours needed to create a reflection converter for JRockit that works similar to the Sun JDK converter. Please pretty please! For my own purposes that seems like the last obstacle to use JRockit.
Tax declaration day is coming up here in Sweden and we won't be able to get JRockit in this year, but it would be great if next year the Swedish IRS website runs on JRockit. Don't you think? -
More info...[ Go to top ]
- Posted by: Henrik Stahl
- Posted on: April 27 2006 12:20 EDT
- in response to Rickard Oberg
Mail me at hstahl at bea dot com and we'll see what we can come up with.
Cheers! -
More info...[ Go to top ]
- Posted by: Henrik Stahl
- Posted on: April 27 2006 13:02 EDT
- in response to Henrik Stahl
...and for the record: XStream uses sun.misc.Unsafe which is just a horrible way to code and strongly discouraged by Sun. Unfortunately this bad habit is fairly widespread, so JRockit (and IBM, IIRC) has been forced to implement parts of that API to maintain "bug compatibility" with Sun.
I wish, oh I wish, that Sun had *never* made that API public! -
XStream with JRockit[ Go to top ]
- Posted by: Henrik Stahl
- Posted on: May 08 2006 05:18 EDT
- in response to Rickard Oberg
I have submitted a patch to XStream with a cleaner use of Unsafe. This will enable "Enhanced Mode" with recent JRockit versions.
http://jira.codehaus.org/browse/XSTR-311