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.

Reply via email to