Rakudo Perl 6 and MoarVM Performance Advances - Jonathan Worthington (‎jnthn‎)
Channel: yapceu
Date: 22/10/2014

Performance has long been one of the blockers to greater adoption of Perl 6. The language is designed in expectation of a sufficiently smart optimizer, knowing that such things are possible - but setting quite a challenge for those of us working on Perl 6 implementation.

Following the "make it work, then make it fast" approach, we've done a lot of work over the years on getting many language features to work well in Rakudo. We also built MoarVM, a virtual machine with Perl 6's object model and other needs at its very heart - meaning we can push all kinds of useful program information down towards the VM. With this in place, in the last year we've focused more heavily on the performance side of things.

In this session I'll discuss how we've been improving Perl 6 performance by working at all levels of the implementation: optimizing built-ins, improving the Perl 6 optimizer's ability to simplify code, and building a powerful dynamic optimizer for MoarVM that uses runtime information about a program's typical behavior to cheapen attribute accesses, resolve dispatches, eliminate type checks, perform inlining, and much more. I'll also take a look at the MoarVM JIT project, and how that is helping.

Finally, I'll take stock of where we're at so far using latest benchmark results: what we can do about as well as Perl 5, where Perl 5 comes out faster, and where Rakudo Perl 6 comes out ahead.

http://act.yapc.eu/ye2014/talk/5633

You can find more information on the speaker's site:
Talk: http://jnthn.net/papers/2014-yapceu-performance.pdf