Want Better Perl 6 Sooner? Write Rakudo Benchmarks

Update: Your author disclaims the contents of this post and leaves it here only as a historical curiosity.

Last July, I wrote An Accurate Comparison of Perl 5 and Rakudo Star. Despite almost seventeen years of tuning and optimization, there's no huge difference between Perl 5's startup time and memory consumption when compared feature-by-feature to Rakudo Star.

The same holds true today. In fact, Rakudo's startup time in my most recent measurements is better than Perl 5.12.2—and bigger performance improvements are coming to Parrot in the next few months.

Perl 5.12.2's startup time, loading all of those modules except Parrot::Embed is 0.627 seconds at best. Rakudo's startup time is 0.441 seconds at best. That means Rakudo starts 30% faster than a similarly configured Perl 5.

Rakudo's memory use is still higher; from the REPL, it uses 176,780/130,968 KB virtual and resident memory. Perl 5's usage is 141,204/47,884 at the debugger. Memory parsimony is probably the next area of optimization for Parrot and Rakudo.

Of course the Rakudo and Parrot developers can't optimize for your needs without knowing your needs. Improving synthetic benchmarks may or may not improve real programs. You can help these efforts by writing real programs, by testing real programs, and by finding areas where real programs seem slower or more memory hungry than they should. In particular, I believe the parsing component of the Rakudo ecosystem has several undiscovered bottlenecks which could yield notable improvements.

Please see #perl6 on freenode and #parrot on irc.perl.org for more details.

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide

Categories

Pages

About this Entry

This page contains a single entry by chromatic published on February 14, 2011 12:41 PM.

Share the Modern Perl ePub was the previous entry in this blog.

Victims of the Success of CPAN Documentation is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


Powered by the Perl programming language

what is programming?