in reply to Re^2: 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.
... but don't know if 'jit' is working or not.
If I understand what you did, it's not, and it's not going to work. You compiled Perl 5 as a C program with a C compiler (clang) to a native binary, and you used that to run Perl 5 code as Perl 5 code.
Unless I missed a flag somewhere that used clang to compile Perl 5 into a native binary which is a thin shim around the LLVM JIT library and a bunch of bitcode that's the real output from the compiler, you're not going to get any LLVM JIT for the Perl 5 VM itself.
You're definitely not going to JIT the Perl 5 code for the Ackermann function itself because nothing translates that to LLVM bitcode and feeds it to the LLVM JIT.
I don't mean to keep ranting about this, but it seems like a lot of people think that LLVM is a magic wand you can wave over a program and magically get a JIT and concomitant orders of magnitude performance improvements. clang is a C compiler, like gcc. If you use clang like gcc, you get the same kind of thing you'll get from gcc.
By no means should anyone sneer at a few percentage points improvement from clang optimizations versus gcc optimizations, especially LTO, but you're not getting orders of magnitude improvement without a lot more work.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: perllVm: A Linux test of how Perl and LLVM would work together.
by flexvault (Monsignor) on Sep 08, 2012 at 20:12 UTC | |
by chip (Curate) on Sep 08, 2012 at 21:05 UTC | |
by chromatic (Archbishop) on Sep 08, 2012 at 21:32 UTC | |
by BrowserUk (Patriarch) on Sep 09, 2012 at 01:40 UTC | |
|
Re^4: perllVm: A Linux test of how Perl and LLVM would work together.
by flexvault (Monsignor) on Sep 09, 2012 at 15:24 UTC |