LWN.net Logo

Should be: Goodnight, Perl 6.

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 14:14 UTC (Mon) by dskoll (subscriber, #1630)
In reply to: Should be: Goodnight, Perl 6. by dskoll
Parent article: Chromatic: Goodnight, Parrot

So... I built rakudo star 2013-01 and wow... they are making progress!

My original measurements showed perl6 taking 553 times as long as perl 5 to start and consuming 27 times as much memory.

Now perl 5 is bigger and slower than back then, and rakudo is smaller and faster, so... perl6 takes only 50 times as long to start as perl 5 and uses a mere 8 times as much memory. I'm not trying to be sarcastic here... I really am impressed they've been able to improve it this much.


(Log in to post comments)

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 17:50 UTC (Mon) by bronson (subscriber, #4806) [Link]

So, if you extrapolate based on these two points, how long will it take for it to reach parity? :)

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 19:10 UTC (Mon) by dskoll (subscriber, #1630) [Link]

Ah, well! :) Do you extrapolate linearly? Exponentially? That's the $64k question.

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 19:15 UTC (Mon) by raiph (guest, #89283) [Link]

That's on Parrot, which is terribly expensive in some ways in terms of both speed and memory.

You might be interested in my Feb 2nd post to perlmonks about the outlook for the speed of Perl 6 in 2013: http://www.perlmonks.org/?node_id=1016758

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 20:45 UTC (Mon) by dskoll (subscriber, #1630) [Link]

That's an interesting post. However, if the answer to "make this go faster" is to target a different VM, then I'm not filled with confidence. That's a huge change to make in a software project that's supposed to be at the optimization phase of its development.

Should be: Goodnight, Perl 6.

Posted Feb 11, 2013 22:11 UTC (Mon) by raiph (guest, #89283) [Link]

It just so happens that one of the pieces that's happening anyway -- a port to the JVM so they can complete threads, NFG/Unicode, and native types -- looks set to have a big impact on speed and memory. So it definitely warrants at least a mention.

But no, the answer to making it go faster and be less wasteful of memory is not to port to a different VM. It's mostly about realizing the speed and memory efficiency already inherent in the design. This is something the team is only just now starting to do because they've followed the correct approach which is to make things work, make them work correctly, and only then focus on speeding things up.

There are several examples in the perlmonks thread I linked. Implementing sink/void context had no impact on semantics but sped up some operations by enormous factors (think thousands of times faster) and saved vast amounts of memory (think reducing usage from N gigabytes to N megabytes). This is the sort of thing they're now doing at an accelerating pace.

Fwiw the JVM port is not a huge change at all. Or rather it is, but they've already done the huge changes over the last few years. If you read jnthn's excellent blog post (http://6guts.wordpress.com/2013/02/02/a-look-at-the-prepa...) you'll understand this point.

Should be: Goodnight, Perl 6.

Posted Feb 12, 2013 2:40 UTC (Tue) by alankila (subscriber, #47141) [Link]

Java has a lot of "industrial-strength" libraries. It would be very interesting to be able to use them from a language such as Perl6 natively. All of Java's stuff would be a vast addition to CPAN.

One of the reasons that really irritated me about programming in Perl 5 some 3-4 years ago was that it was clearly falling behind in terms of supporting some xml-based technologies, or pdf generation, or microsoft excel interoperability, and all such stuff which the primary competition in that space (java) had no trouble with, and which were features that the customers were requesting. I have no reason to think the situation has got any better, because my impression is that Perl's popularity has been falling further since.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds