Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^6: Perl 5 Optimizing Compiler, Part 4: LLVM Backend?

by chromatic (Archbishop)
on Aug 29, 2012 at 05:11 UTC ( #990381=note: print w/ replies, xml ) Need Help??


in reply to Re^5: Perl 5 Optimizing Compiler, Part 4: LLVM Backend?
in thread Perl 5 Optimizing Compiler, Part 4: LLVM Backend?

So which is it? JIT good or JIT bad?

That reads to me like a false dilemma.

In the rest of the post where I said "Add a tracing JIT", I wrote about the other necessary improvements to take advantage of a tracing JIT.

If we can clean up some of the Perl internals along the way to Perl5-on-LLVM, then we can either change the backend target to a more-dynamic-than-LLVM platform or just upgrade LLVM to support dynamic language features.

The word "just" in there reads to me like an oversimplification.

Have you read the Dragon book? Taken a compilers class? Written your own Scheme or Forth? Written an interpreter? I appreciate your enthusiasm, but I think you're committing to a schedule and a lot of engineering decisions before you've done enough research to know what goes into a project like this.


Comment on Re^6: Perl 5 Optimizing Compiler, Part 4: LLVM Backend?
Re^7: Perl 5 Optimizing Compiler, Part 4: LLVM Backend?
by Will_the_Chill (Pilgrim) on Aug 29, 2012 at 05:33 UTC
    chromatic,

    I admit, I was setting up a potentially-false JIT dichotomy to try and understand your arguments better.

    Immediately after posting, I figured my use of the term "just" in "just upgrade LLVM" was in poor form - I should have omitted the "just", I agree that it is an oversimplification.

    ...

    Yes, I own and have read the Dragon book.
    Yes, I've taken a compilers class during the process of getting a degree in computer science.
    Yes, I have written my own functional and procedural languages, complete with BNF grammars, etc.
    Yes, I've written more than one interpreter.

    ...

    I am glad you appreciate my enthusiasm. I appreciate your frank input.

    The schedule I'm committing to is to have something (anything!) to demo by YAPC::NA 2013.

    I have not committed to any engineering decisions, as I am still in the process of research and due diligence. I've spent the last decade working on language theory and design, so I'm not a total newbie here. I'm just not (yet) a Perl Pope or Pumpking. ;)

    Thanks,
    ~ Will
      The schedule I'm committing to is to have something (anything!) to demo by YAPC::NA 2013.

      For some reason, I thought you wanted this project done by then. If you're doing your research now and putting together plans to make some sort of proof of concept, then presenting some findings by next year is very reasonable.

        If I can't get the whole project done by YAPC::NA 2013 (which I am sure everybody here is willing to consider likely), then I'm going to try my best to get us as far as possible so we can have something impressive to demo at least.

        Who knows, maybe we'll get lucky and be able to speed up some parts of Perl quite a bit in a year, or at least prove that it will be possible given X amount of effort.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://990381]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2014-12-25 05:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (159 votes), past polls