|
Fabio Mascarenhas wrote: [...]
I am the author of the paper. :-) Notice that the CLR (and the desktop JVMs) have good JIT compilers, and this is how one can get good results by bytecode translation (or straigth compilation). J2ME is interpreted AFAIK so there will be a big speed hit. I don't know enough about CLDC hotspot to comment... I recommend translating some microbenchmarks by hand and testing them against interpretation with Kahlua to see if the gains are worth the trouble.
Of course, since you're competing against an interpreter running on the same system, a slow JVM would hit the interpreter much harder than it would hit the translated byte-code...
What would be really interesting is a Lua JIT that generated JVM byte code. Unfortunately, loading classes on any JVM is so horribly slow I doubt it would be worth it.
(I used to work for a company that made an embedded JVM, based on a translator rather than a JIT or an interpreter. Unfortunately, the stuff I did was all at a lower level than the actual byte code reading layer, so I haven't had much exposure to the details of JVM bytecode.)
Incidentally, I should point out that the lua2il download link is broken, and LuaCLR doesn't seem to have one at all...
-- David Given dg@cowlark.com