»»» This post is about the immature Perl 6, not the rock solid Perl 5 «««

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.


1 Reactive programming in Perl 6 is a good intro to P6's reactive programming features but make sure to use the latest version of the example code in the reactive examples code repo.

2 See jnthn's examples of calling Java code.


In reply to Rakudo Star (Perl 6 bundle) now supports MoarVM and JVM backends by raiph

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.