Stories
Slash Boxes
Comments

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

chromatic
  (email not shown publicly)
http://wgz.org/chromatic/

Blog Information [technorati.com] Profile for chr0matic [technorati.com]

Journal of chromatic (983)

Monday May 18, 2009
01: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.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.