Any Lua JIT work ?

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Any Lua JIT work ?

Rob Barris

I would like to ask if there is any work or research available or ongoing about building a Lua JIT runtime.

What are some of the more obvious challenges inherent in such an approach ?

Rob


Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Ketmar Dark-2
hello, Rob Barris <[hidden email]>.

On Tue, 9 Oct 2007 17:06:14 -0700
Rob Barris <[hidden email]> wrote:

> I would like to ask if there is any work or research available or  
> ongoing about building a Lua JIT runtime.
> 
> What are some of the more obvious challenges inherent in such an  
> approach ?
http://luajit.org/

"use the search, Luke!" (c)

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Rob Barris

On Oct 9, 2007, at 5:25 PM, Ketmar Dark wrote:

hello, Rob Barris <[hidden email]>.

On Tue, 9 Oct 2007 17:06:14 -0700
Rob Barris <[hidden email]> wrote:

I would like to ask if there is any work or research available or
ongoing about building a Lua JIT runtime.

What are some of the more obvious challenges inherent in such an
approach ?
http://luajit.org/

"use the search, Luke!" (c)

Thanks a lot, this looks interesting.

Rob


Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Ketmar Dark-2
hello, Rob Barris <[hidden email]>.

On Tue, 9 Oct 2007 20:36:50 -0700
Rob Barris <[hidden email]> wrote:

> Thanks a lot, this looks interesting.
i must say that it's not only look good, it's work good. %-) i'm using
it in ~year every day. and it powers my proxy server (luaproxy) which
works for monthes w/o shudowns and crashes.

and it is written in a spirit of Lua: small, fast, good. Mike Pall is
very talented person. tnx, Mike. %-)

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

D Burgess-4
Mike is somewhere in between hero and God status.
>
> and it is written in a spirit of Lua: small, fast, good. Mike Pall is
> very talented person. tnx, Mike. %-)
>

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Diego Nehab-3
Mike is somewhere in between hero and God status.

My theory is that the name "Mike Pall" is a placeholder for
25 different people that were too lazy to create their own
e-mail accounts.

[]s,
Diego

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Romulo Bahiense
Diego Nehab wrote:
Mike is somewhere in between hero and God status.

My theory is that the name "Mike Pall" is a placeholder for
25 different people that were too lazy to create their own
e-mail accounts.

[]s,
Diego



My theory is that "Mike Pall" is the pseudonym for the geek personality of Chuck Norris.

--rb

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Stephen Kellett
In reply to this post by Rob Barris
Rob Barris wrote:

I would like to ask if there is any work or research available or ongoing about building a Lua JIT runtime.

Wouldn't you be better off sitting ontop of a JITing runtime that already supports that? The most obvious candidate being the .Net runtime because that is widespread, seems to be better than the Java one and with Mono for Linux and the DLR for the Web (Windows/Mac/Linux) runs pretty much everywhere.

Plus you then get the benefit of all the tool support for .Net including if someone wants to write it a language extension for intellisense in Visual Studio (Sapphire Steel have done this for Ruby).

Microsoft seem to be pretty keen on helping people move languages to the DLR (IronPython and IronRuby come to mind). The IronPython package ships with source so that you can see how to put a language ontop of the DLR.

Stephen

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Mike Pall-78
Hi,

Stephen Kellett wrote:
> Wouldn't you be better off sitting ontop of a JITing runtime that already 
> supports that? The most obvious candidate being the .Net runtime because 
> that is widespread, seems to be better than the Java one and with Mono for 
> Linux and the DLR for the Web (Windows/Mac/Linux) runs pretty much 
> everywhere.

Nope. Both the CLR and the JVM are designed and optimized for
their primary languages (C# and Java). The impedance mismatch is
too high for efficient execution of any language with different
semantics (in particular most dynamic languages). Neither the
data model nor the code model is at the right abstraction level.
Performance suffers (badly).

It seems the UNCOL lesson has not been learned. Contrary to the
claims that this was due to the immature compiler technology 50
years ago, I claim this approach is flawed by its inherent
complexity. Later attempts (ANDF, Parrot (*)) and their meager
accomplishments backup my point.

What has been proven to work is to design the intermediate layer
either for the source language or the destination language (i.e.
the machine code). Preferably to both. Reducing the degrees of
freedom results in better performance. Trying to solve everything
in one go results in disaster.

(*) http://www.nntp.perl.org/group/perl.perl6.internals/2007/09/msg40359.html
    6 years of development, ambitious goals, lots of talented
    developers, 22 MB source, 13 MB binary ... and it's around
    150x-200x slower than a 100 KB VM plus a 30 KB JIT compiler?
    Sad. Very sad.

> Microsoft seem to be pretty keen on helping people move languages to the 
> DLR (IronPython and IronRuby come to mind). The IronPython package ships 
> with source so that you can see how to put a language ontop of the DLR.

The name is just a clever marketing ploy. It's a plain C# library
with some overly complex object wrappers and some helpers for
emitting code at runtime. I remain unimpressed.

Adding complexity and then hoping "the compiler", "a JITting VM"
or "Moore's Law" will magically reduce all of it to nothing is
naive.

Bye,
     Mike

Reply | Threaded
Open this post in threaded view
|

Re: Any Lua JIT work ?

Miles Bader-2
In reply to this post by Stephen Kellett
Stephen Kellett <[hidden email]> writes:
> The most obvious candidate being the .Net runtime because that is
> widespread, seems to be better than the Java one and with Mono for
> Linux and the DLR for the Web (Windows/Mac/Linux) runs pretty much
> everywhere.

Sure it does.

-miles
-- 
People who are more than casually interested in computers should have at
least some idea of what the underlying hardware is like.  Otherwise the
programs they write will be pretty weird.  -- Donald Knuth