Fork me on GitHub

MoarVM 2014.08

Optional JIT compilation on x64, covering a wide range of operations and integrated with exception handling, inlining, OSR, and deoptimization. Asynchronous process control. Lazy deserialization of frame data and objects, for memory reduction and faster startup. Inlining of frames with exception handlers, and optimization of some exception throws into gotos. And dozens of other optimizer improvements, bug fixes, and performance enhancements!


What is MoarVM?

Short for "Metamodel On A Runtime", MoarVM is a virtual machine built especially for Rakudo Perl 6 and the NQP Compiler Toolchain. While still being under very active development, MoarVM already stands out amongst the various Rakudo and NQP compilation targets by typically:

  • Running the Perl 6 specification test suite in the least time
  • Passing more of the Perl 6 specification tests than Rakudo Perl 6 on other backends
  • Having the lowest memory usage
  • Having the best startup time
  • Being fastest to build both NQP and Rakudo - and thus in theory your Perl 6 and NQP programs too!

For long-running workloads where startup time doesn't matter, or when you need tried-and-tested, mature threading support, Rakudo on the JVM is a better bet; its JIT compiler gets to work and makes quite a difference. For maximum module coverage, Rakudo on Parrot may have a small edge, but that is changing fast.