Suggest Deprecating Current JIT System

Andrew Whitworth wknight8111 at gmail.com
Wed Sep 2 13:19:50 UTC 2009


On Wed, Sep 2, 2009 at 8:56 AM, Andy Dougherty<doughera at lafayette.edu> wrote:
> Current JIT:
>    Can anyone provide reasonable benchmarks for whether this actually
>    provides any significant performance boost?  (Obviously, this has
>    to be done by someone on a platform where it currently works.)

I had seen some numbers a while back that showed this basic ordering
of core performance:

Fast Core
Switch Core
Slow Core
CGP Core
JIT

I may be remembering the details of this incorrectly, but I do
remember the basics: The fast core does the absolute best (processors
are able to optimize branch predictions across function calls) and the
JIT basically does the worst. I would like to see some more current
numbers, but I would be surprised if they were too different from this
ordering.

> LLVM:
>    Wasn't there a Google Summer of Code project exploring this for
>    parrot?  What ever happened to that?

Tewk was signed up to do this, but he ran into real life issues and
had to drop out of the program.

>    Yuval Kogman has a very nice description of how LLVM might fit
>    into perl5 at
>        http://www.perlfoundation.org/perl5/index.cgi?llvm
>    Obviously, much of it is specific to perl 5, but the section on
>    "Tradeoffs" is definititely worth reading, particularly the last 9
>    paragraphs.

Excellent resource, I'll read it ASAP.

> Gnu Lightning:  According to the documentation:
>
>    "The low number of available registers (six) is also an important
>    limitation . . . ."
>
>    Does anyone have a sense how well that would (or would not) mesh
>    with Parrot's "infinite" register model?

Any JIT system is going to force us to do register manipulations. No
hardware processor supports our infinite register model (at least not
without performance tradeoffs). Any JIT system is going to need to map
Parrot registers to physical hardware registers in some way.

> LibJIT:
>    The only URL I've found,
>        http://www.southern-storm.com.au/libjit.html
>    doesn't seem to go anywhere useful anymore.  That's doesn't seem
>    to be a good sign.

I'll dig up some references on it. You are right, this project is not
well advertised.

>    Also, this exchange on the old perl6-internals list doesn't look
>    too hopeful:
>
>        http://groups.google.com/group/perl.perl6.internals/browse_thread/thread/9b61366be89b4333

Most of that discussion really doesn't strike me as being too informed
or factual. I could do a real analysis of the points if you were
interested.

--Andrew Whitworth


More information about the parrot-dev mailing list