David Given is one of those prolific thinkers and doers who seem to be overrepresented in the Lua community.<p>He's probably best known to HNers for his critical article "On Go" and Objective Lua.<p><a href="http://cowlark.com/2009-11-15-go/" rel="nofollow">http://cowlark.com/2009-11-15-go/</a>
<a href="https://cowlark.com/objective-lua/index.html" rel="nofollow">https://cowlark.com/objective-lua/index.html</a>
The article makes a rather hefty claim, that it is comparable or even in some ways faster performancewise than Sun's hotspot JVM.<p>From what I've heard the JVM is one of the most heavily researched and optimized bytecode VM out there. Could it really be that some guy can write a competitor in a scripting language in his spare time?<p>Not saying it's impossible, just curious if there's anything to back that claim up, besides the very specific microbenchmarks.<p>edit: I was a bit too quick to comment, reading again he doesn't really claim to be faster at anything other than small loops. Still interested if it's fast at any real world things though.
It's an impressive project that shows the extraordinary work of a single developer, Mike Pall. LuaJIT is not only an incredibly beautiful JIT, the current project also demonstrates it can run generated code efficiently, which is probably the hardest thing to do for a language.<p>When implementing Opa in OCaml, we run into tons of problem since the OCaml runtime was unable to run generated code efficiently. One of its author, Pierre Weis told us at the time: "it's normal, OCaml is not meant to run generated code at all".<p>As a side note regarding Luje source code: Fossil must be great and all that but having the code on a publicly available Git repository would probably bolster contributions.
There's an interesting paper about a similar project that was done using Self [1]. "Design and Implementation of Pep, a Java Just-In-Time Translator written in Self"<p>It goes through details with benchmarks. The PEP code is available with the Self distribution. They were able to get faster than the Java implementation at the time. Back then Java was interpreted though.<p>[1] <a href="http://bluishcoder.co.nz/self/97-pep.pdf" rel="nofollow">http://bluishcoder.co.nz/self/97-pep.pdf</a>