Curious Kaffe vs. jdk speed test results under Linux

Per Bothner bothner at
Sat Jan 2 12:09:24 PST 1999

> 1. Use egcs/gcj to make native-method versions of everything, assuming that
>   its output can conform to the JNI.

I don't know what you mean by "conform to the JNI".  For me it means
a performance-killer.  Having a compiler generate native code that
uses the JNI to interoperate with the JVM sounds nice, because it
means the compiled code can be linked with any VM that supports JNI.
The problem is that the resulting code may well be slower than interpreted
code, which kills the point of compiling it.

Hence the philosophy of gcj is to generate code for a *specific*
JVM, and to have the compiler know the layout of objects and classes
of that VM.

The run-time library that goes with gcj will be released *very* soon
now.  However, it is not as featureful as Kaffe. 

While we have no immediate plans to document the interface between
the compiler and the run-time library (it is is far from stable at
this point), having the library will make it easy to figure out.  

	--Per Bothner
Cygnus Solutions     bothner at

More information about the kaffe mailing list