|Think about Loose Coupling|
Rakudo Star (Perl 6 bundle) now supports MoarVM and JVM backendsby raiph (Hermit)
|on May 06, 2014 at 02:07 UTC||Need Help??|
Rakudo Star is a "batteries included" distribution that couples the Rakudo Perl 6 compiler with an installer, the C calling interface, bundled modules, and doc.
The new Rakudo Star 2014.04 release is the first to be shipped with a MoarVM and JVM backend (as well as a Parrot VM backend). This marks the stage where not only is the Rakudo compiler on the MoarVM and JVM backends passing more spectests than on the Parrot backend but also the ecosystem -- installer, modules, doc -- has generally caught up too.
The biggest impact so far of including these new backends is on performance, use of concurrency1, and use of Java code2.
Rakudo on Parrot is currently fastest for code that does a lot of string slicing and dicing. This is Rakudo on Parrot's main current advantage, one it's likely to retain for another few months. Ignoring that, Parrot is much slower for most scripts and the Rakudo/NQP backend does not support concurrency.
Rakudo on MoarVM runs most P6 scripts a lot faster using a lot less RAM than either Rakudo on Parrot or Rakudo on JVM. Concurrency is supported, though not as robustly as on the JVM.
Long running scripts sometimes end up running a lot faster on the JVM backend than on either MoarVM or Parrot due to JVM's JIT. The JVM also supports P6's concurrency features and calling Java libs.
Finally I'd like to highlight the debugger and its command line UI. Partly because it's a good tool, but mostly to illustrate how easy it can be to contribute to the core as I did via a bugfix and a speedup.
2 See jnthn's examples of calling Java code.
»ö« . o O ( "the celebrity tell-all of the Perl-6 cult?" )