Charles Oliver Nutter
8/12/2008 9:10:00 AM
David Masover wrote:
> On Monday 11 August 2008 11:26:44 Charles Oliver Nutter wrote:
>> with all the Linux
>> distros now providing installable OpenJDK-based JVMs, there's hasn't
>> been much interest in getting GCJ to work.
>
> Would there be any performance increase?
>
> That is: Does GCJ actually compile to binary? Or is it more like a wrapper for
> some sort of VM?
>
> My understanding is, it might at least reduce start time. But that's probably
> not a reason to put a huge amount of effort into it.
GCJ is generally a lot slower at everything but startup time, because it
lacks the ability to do the runtime optimizations that are typically
responsible for Java's best performance. My understanding is that it
does compile to something mostly native with a very large runtime
library (large as in comparable to what a JVM would be, or perhaps a bit
smaller), and that native-compiled code starts up rather fast. But most
numbers indicate that when the app is up and going, performance is not
as good as, for example, OpenJDK.
Like I say, though, we'd welcome someone helping to get JRuby running on
GCJ. It did at one point, but as we started to incorporate more Java 5+
features it started to slip away. And with OpenJDK basically making
Sun's HotSpot JVM free AND Free, there's been almost no demand for GCJ
over the past several months. Hell, even Debian has approved OpenJDK for
inclusion, and they were dead-set on requiring that all Free Java-based
apps be GCJ-compatible for the longest time (keeping JRuby out of the
dist for the past year or so).
- Charlie