On Wed, 2006-06-21 at 10:59 +0200, Roman Kennke wrote: > > Natively compiling the code doesn't yield much of > > an improvement over jamVM. Some interesting results. > > Yeah sure, most of the work is done in native code, so it doesn't really > matter if the VM is an interpreter, completely compiled or jit. I believe Sun's OpenGL backend avoids JNI overhead by writing GUI commands to a queue in some kind of bytecode, and then having a single native thread pulling the commands off the queue in a loop to call the underlying toolkit routines. My understanding is that this worked so well that they plan on doing the same thing for their other peer ports. It seems like something like this may be relatively simple to try with our gtk port as well. Enumerate each native method and, instead of calling the native methods directly, simply write the function enumeration and parameter values to a queue of sorts. The native command processor would be pretty simple to write. Could any of these benchmarks be tested by converting only a handful of native methods to this alternative implementation? AG