[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] LuaJIT-2.0.0-beta1
- From: Mike Pall <mikelu-0911@...>
- Date: Sun, 1 Nov 2009 19:12:34 +0100
Chris wrote:
> I can't remember if I asked this before but at some point will LuaJIT
> be able to improve its recursive call speed? In this area LuaJIT
> seems to lag way behind VM's like Google's V8. It's pretty easy to
> see the difference when using benchmarks like Ackermann or Fibonacci
> where LuaJIT is about 4 times slower in my tests.
Yes, recursion is not compiled (yet). This is mentioned in the
status page.
[Note: tail-recursive calls *are* supported. They're fast, too.]
Up-recursion is not too difficult. Some support code for counting
hotcalls is already there. Down-recursion is much more difficult,
but I already have some ideas for that.
Still, recursion is, umm, 'unpopular' in Lua (outside of synthetic
benchmarks). Other things have a higher priority on my list.
[That, BTW, is what annoys me most about V8: their benchmarketing.
They ported some quaint, recursive SmallTalk benchmarks to
JavaScript, tuned their VM for it and now claim bragging rights.
That roughly 0% of all JavaScript on the web makes use of
recursion doesn't seem to bother them at all.]
[Umm, before the functional programmers come to slaughter me: yes,
recursion is a useful tool. But compiler optimization is not a
beauty contest. Popularity of language idioms is what matters most.]
--Mike