in reply to Re^4: perllVm: A Linux test of how Perl and LLVM would work together.
in thread perllVm: A Linux test of how Perl and LLVM would work together.

The current documentation for LLVM has an example of using JIT with an existing 'C' program, without a custom front-end.

The Ackermann function, written in Perl 5, isn't a C program.

  • Comment on Re^5: perllVm: A Linux test of how Perl and LLVM would work together.

Replies are listed 'Best First'.
Re^6: perllVm: A Linux test of how Perl and LLVM would work together.
by BrowserUk (Patriarch) on Sep 09, 2012 at 01:40 UTC
    The Ackermann function, written in Perl 5, isn't a C program.

    No, but the perl that runs ack.pl is a c program.

    If you compile the perl sources to bitcode and run them with lli, then it can jit the perl runtime whilst it is running Ack.pl.

    That wasn't what flexvault was doing; and I'm not sure what performance would result; but when you're first playing with this stuff it is easy to get confused about what is happening during the different phases; and/or sucked in by what you read.

    Whilst lli is slow compared to native-compiled C; the relative effects of it using JIT on the bitcoded C, do give some indication of the possibilities of gains that are possible when running the native-compiled C -- iff you can get the optimiser to see all the relevant parts of the C-source concurrently.

    Easier said than done given perl's architecture; but that could change.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    RIP Neil Armstrong