Author Archives: jnthnwrthngtn

Better usage information in the MoarVM specializer

I’ve been doing lots of work on the MoarVM specializer of late, and will be writing a few posts here to explain it. This work has been covered by my grant from The Perl Foundation. This post covers the recent addition … Continue reading

Posted in Uncategorized | 2 Comments

Faster dispatches with MoarVM specializer plugins

One of the goals for the current round of my Perl Foundation Performance and Reliability grant is to speed up private method calls in roles, as well as assignments in to Scalar containers. What I didn’t expect at the time I wrote the grant … Continue reading

Posted in Uncategorized | 2 Comments

Remote Debug Support for MoarVM

Some years back, I worked on bringing basic debug support to Rakudo Perl 6. It works by taking the program AST and instrumenting it. This approach produced a somewhat useful result, but also carries a number of limitations: It required … Continue reading

Posted in Uncategorized | 1 Comment

Of sisters, stacks, and CPAN

Recently, an open letter was published by Elizabeth Mattijsen, a long-time contributor to the Perl community who has in recent years contributed copiously to Rakudo Perl 6, as well as working to promote Perl (both 5 and 6) at numerous events. The … Continue reading

Posted in Uncategorized | 1 Comment

A unified and improved Supply concurrency model

Perl 6 encourages the use of high-level constructs when writing concurrent programs, rather than dealing with threads and locks directly. These not only aid the programmer in producing more correct and understandable programs, but they also afford those of us … Continue reading

Posted in Uncategorized | 1 Comment

MoarVM Specializer Improvements Part 4: Argument Guards

So far in this series, I have discussed how the MoarVM dynamic optimizer gathers statistics, uses them to plan what to optimize, and then produces specialized versions of hot parts of a program to speed up execution. In this final part, I’ll look at … Continue reading

Posted in Uncategorized | 1 Comment

MoarVM Specializer Improvements Part 3: Optimizing Code

Finally, after considering gathering data and planning what to optimize, it’s time to look at how MoarVM’s dynamic optimizer, “spesh”, transforms code into something that should run faster. Specialization The name “spesh” is short for “specializer”, and this nicely captures the overall approach … Continue reading

Posted in Uncategorized | 3 Comments