Rakudo Perl 6 and MoarVM Performance Advances
You can find more information on the speaker's site:
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.
Attended by: Nicholas Clark, steve mynott (itz), Jonathan Worthington (jnthn), Thomas Klausner (domm), Leon Brocard (acme), Gianni Ceccarelli (dakkar), Vasil Sakarov, Wolfgang Schemmel (Perleone), Mike Chamberlain, M W (diakopterXXX), Carl Mäsak (masak), Michal Jurosz (mj41), Aristotle, H.Merijn Brand (Tux), Jean-Baptiste Mazon, Radek Kotowicz, Alexander Hartmaier (abraxxa), Veroslav Cenov (gryzli), Herbert Breunung (lichtkind), Denis Kanchev, Amalia Aida (amalia), Michael Bochkaryov (Rattler), Stefan Dragnev, David Leadbeater (dg), Красимир Беров (berov), Søren Lund (slu), Karl Rune Nilsen (krunen), Abe Timmerman (abeltje), Dagfinn Ilmari Mannsåker (ilmari), John Lightsey (J.D.), David Schmidt (davewood), Michal Josef Špaček (skim), Johnathan Swan, Steffen Winkler (STEFFENW), Lukas Mai (mauke), Olivier Mengué (dolmen),