Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

  (email not shown publicly)

Blog Information [] Profile for chr0matic []

Journal of chromatic (983)

Monday May 18, 2009
12:02 AM

Parrot and Rakudo Get Faster

[ #38992 ]

This week's release of Parrot 1.2 and Rakudo #17 include some measurable performance improvements. We've spent the last couple of weeks profiling and tuning Parrot. In particular, Parrot startup is a third of what it was in Parrot 1.1 (building on the work in Silly Little Parrot Optimizations). Rakudo's parsing speed has improved by at least 40% (though perhaps we've halved the time the average parse takes). Parrot's method dispatching speed has improved by about 10%. Returning from simple functions (that is, creating and invoking a return continuation rather than storing a first-class continuation) is also somewhat faster, but I don't have my notes on exact numbers.

A few other optimizations didn't make it in the release. I've just created a quick patch to reduce the cost of function invocations (perhaps a 30% improvement there), and I'm experimenting with some modest changes to those places where we do need to malloc() explicitly.

This is minor tuning, based on careful profiling, a few algorithmic improvements, moving runtime calculations to compile time, and an increasing knowledge of hotspots and expensive code. Few of them require non-local design changes to Parrot. We have much more impressive performance improvements in the works.

(This is about Perl programming, not Euphoria programming.)

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.