Hi all, I'd like to get opinions from developers on this list. I'm looking into this system that executes massive amounts of Perl 5 code on a Perl 5.8 interpreter. The system burns tons of CPU while running Perl code, and I'm speculating on ways to improve our throughput (say, 50 billion inst per module -> 10 billion inst/modl) and latency (say, 2 sec/modl -> 0.5 secs/modl).
For us, switching to another language would require considerable effort. I'm wondering, if we could compile Perl 5 source code into Parrot byte code and run it in Parrot's VM, would we see any performance benefit? Intuitively, running compiled code should go faster than interpreting it. We can also pre-compile all of our Perl code, almost at no-cost (the CPU cost is relatively very small). In summary, my questions are: (1) How much effort would it take to convert Perl 5 source to Parrot bytecode? Is this even possible? (2) How much performance benefit should I expect if I [could] compile and run Perl 5 source? (I read "Perl 6 and the Parrot VM", but couldn't find any numbers or even performance speculations. I also looked into "The case for virtual register machines", but the paper examines the Java VM. Java's developer library cites an increase of 10x going from interpreted to compiled, but I don't know if that applies to dynamically typed languages.) Thanks, Ozgun.