in reply to Re^4: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot
in thread A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently.
The differing properties of statically and dynamically typed languages have motivated the design of Parrot. Current popular virtual machines such as the Java virtual machine and the Common Language Runtime, for the .NET platform, have been designed for statically typed languages, while the languages targeted by Parrot are dynamically typed.
Virtual machines such as the Java virtual machine and the current Perl 5 virtual machine are also stack based. Parrot developers see Parrot's inclusion of registers as an advantage, as it therefore more closely resembles a hardware design, allowing the vast literature on compiler optimization to be used in generating bytecode for the Parrot virtual machine that could run at speeds closer to machine code. Other register-based virtual machines have inspired parts of Parrot's design, including LLVM, the Lua VM and Inferno's Dis.
Yes, I know this was not a general case, but if getting 40x faster means being 2x to 3x times slower than what we have now, then it's a bigger flop than I thought.
An anecdote for the Per6 team? Yes. Food for thought for the Parrot developers? Definitely! Something to brag about in public? I don't think so!
Perl6 - the Multics of programming languages