LWN: Comments on "The first Rakudo Star release" https://lwn.net/Articles/397892/ This is a special feed containing comments posted to the individual LWN article titled "The first Rakudo Star release". en-us Mon, 03 Nov 2025 13:24:14 +0000 Mon, 03 Nov 2025 13:24:14 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Wow. https://lwn.net/Articles/400672/ https://lwn.net/Articles/400672/ lindahl <div class="FormattedComment"> Hint: Don't feed trolls. They just grow bigger.<br> </div> Wed, 18 Aug 2010 05:21:36 +0000 Wow. https://lwn.net/Articles/398880/ https://lwn.net/Articles/398880/ nix <div class="FormattedComment"> In unoptimized systems it often is purely a matter of optimization, because code that's never been optimized often has some really expensive hot paths in it that slow things down a hell of a lot, because there was lots still to implement and getting that working at all was more important than getting the rest fast.<br> <p> An example: I sped up the userspace daemon used by the entropy key hardware by more than 1/3rd (minimal figure) or more than 95% (maximal figure) last night. It took about an hour. This is not because the ekeyd authors were fools or lazy: it's because they had other things to do than optimization, so the first person to optimize it could get major speed improvements with very little effort and a few algorithmic changes to a couple of hotspots. (If the structure of the code is such that such changes are unnecessarily hard, that *is* an indictment of the original developers. This certainly wasn't true of the ekeyd and I doubt it's true of Rakudo.)<br> <p> I would *expect* developer prereleases of software to be just like this more often than not.<br> <p> </div> Thu, 05 Aug 2010 15:42:18 +0000 Congratulations https://lwn.net/Articles/398349/ https://lwn.net/Articles/398349/ bronson <div class="FormattedComment"> You might want to hold your accolades until you actually start using it. :)<br> </div> Sun, 01 Aug 2010 20:35:30 +0000 Wow. https://lwn.net/Articles/398308/ https://lwn.net/Articles/398308/ rjbond3rd <div class="FormattedComment"> Perl 6 is blowing my mind. It really goes to 11.<br> <p> Over the years, my ideas about Perl became rigid and limited. But after reading the design docs (Synopses), it's easy to see the Perl 6 goals, the challenges, the trade-offs, the design decisions.<br> <p> <a rel="nofollow" href="http://perlcabal.org/syn/">http://perlcabal.org/syn/</a><br> <p> These docs really flesh out the rationale. The concepts from functional programming are fascinating. <br> <p> It's not hard at all to imagine a lean and mean Rakudo down the road. Every major leap in computing has been accompanied by complaints about speed and memory :)<br> </div> Sun, 01 Aug 2010 06:49:39 +0000 Congratulations https://lwn.net/Articles/398302/ https://lwn.net/Articles/398302/ wruppert <div class="FormattedComment"> Congratulations to the Parrot and Rakudo development teams for delivering a useful product. I've been eager to start playing with Perl6.<br> </div> Sun, 01 Aug 2010 03:40:16 +0000 "Early Adaptors": R.I.P. https://lwn.net/Articles/398300/ https://lwn.net/Articles/398300/ efexis <div class="FormattedComment"> What's an 'early adaptor'? (please don't make me google it!!)<br> <p> <p> </div> Sun, 01 Aug 2010 03:23:27 +0000 Wow. https://lwn.net/Articles/398298/ https://lwn.net/Articles/398298/ efexis I want the multi-threadedness that p6 offers (I am correct in assuming this is correct helpful multi-threadedness, rather than what p5 has?) and many other language enhancements of p6, BUT with the agreeable sigils of p5 that makes it a more natural language, eg, in p5, <u>A</u> $sigil on it's own or <u>A</u> $sigil[10] in <u>A</u> [group] <u>IS</u> agreeable. In p6, <u>ARE</u> <u>A</u> @sigil[10] agreeable? No, in p6, <u>A</u> @sigil[10] <u>AREN'T</u> agreeable. I'm assuming that if you can speak perl and especially if you've ever tried to learn another language where agreement is more obvious than it is in English that you can understand what I'm saying. And yes I am aware that it <i>can</i> be changed with grammars, but still... yacky! I love all the naturalnesses of the p5 language, it's what makes me love using it over any other language so much, I love expressive speech, it's sad to see much of that gone in p6 :'-( I do understand it makes it easier for the machine to parse tho. <br><br> I do &gt;&gt;love&gt;&gt; all that stuff tho. Not keen on tying ~ strings ~ together ~ with ~ this ~ though, that's a really awkward key to press, much slower than . or + which I would probably just have to overload if I can ever get over how un-agreeable all the @sigils <i>is</i> now... see, it just doesn't sound right! But then I don't like the term 'overload' either, it should be 'override', 'overloading' an operator sounds like a way of testing it to find out at what level it will fail, or have a scottish person show up and say "the operators captain, they cannae take it!" so maybe I'm just way too picky *lol* but no I can forgive that, I understand it means "to load over" not actually "overload", so that <i>are</i> one issue that I <i>is</i> happy to forgive... SEE! You need agreement in language! *lol* <br><br> I'll shut up now :-) Sun, 01 Aug 2010 03:21:17 +0000 Wow. https://lwn.net/Articles/398266/ https://lwn.net/Articles/398266/ chromatic <div class="FormattedComment"> Exactly. Both Patrick and I believe that this is possible and desirable.<br> <p> Even so, anyone who's happy with the features of Perl 5 is more than welcome to continue to use Perl 5. It's not going anyway any time soon.<br> <p> For people who want use Perl 5 as if it were Perl 6, Rakudo Star is becoming a more and more useful and usable option, and it'll continue to do so.<br> </div> Sat, 31 Jul 2010 18:33:10 +0000 Wow. https://lwn.net/Articles/398262/ https://lwn.net/Articles/398262/ thepaul <div class="FormattedComment"> NERDFIGHT! Woo!<br> </div> Sat, 31 Jul 2010 17:13:52 +0000 Wow. https://lwn.net/Articles/398258/ https://lwn.net/Articles/398258/ khc <div class="FormattedComment"> I guess another way to look at it is, if they find a way to load those new features in perl6 on demand, then perl6 can be substantially smaller and faster (to start up).<br> </div> Sat, 31 Jul 2010 16:39:50 +0000 Wow. https://lwn.net/Articles/398251/ https://lwn.net/Articles/398251/ dskoll <p>Even your "accurate comparison" shows that Perl 5 is significantly smaller and faster than Rakudo Star. <p>But here's the thing: You had to add a lot of modules to Perl 5 to get it to be in the same order of magnitude of slowness and bloat as Rakudo Star. But Perl 5 <em>without all those modules</em> is still a very useful tool. It seems that with Perl 6, we have no choice: We get all the features whether or not we'll use them. <p>In 14+ years of Perl development, I haven't written a single project that uses even one of those Perl 5 modules you loaded for comparison purposes (though I suspect eventually I'll be forced to drag in Moose as more and more CPAN modules require it.) So I think it's you who is gaming the comparison. I'm pretty sure I could find a way to make Perl 5 10x slower and bigger than Rakudo Star, but that doesn't reflect the way people actually use Perl 5. Sat, 31 Jul 2010 14:16:48 +0000 Wow. https://lwn.net/Articles/398212/ https://lwn.net/Articles/398212/ chromatic <p>Your comparison of the size of an optimized binary produced by an optimizing C compiler to an unoptimized barely-a-binary-at-all produced by an unoptimizing Perl 6 comparison is silly. Ditto your comparison of the memory use. Likewise your comparison of the feature set.</p> <p><a href="http://www.modernperlbooks.com/mt/2010/07/an-accurate-comparison-of-perl-5-and-rakudo-star.html">Compare the optimized Perl 5 to the unoptimized Rakudo Star on feature set</a> for a more accurate depiction of the situation.</p> Sat, 31 Jul 2010 00:30:56 +0000 Wow. https://lwn.net/Articles/398207/ https://lwn.net/Articles/398207/ dskoll <p>I don't understand that last remark. Are you saying Rakudo Star is implemented in Perl 6? And that it's "just" a matter of rewriting it in something else to make it small and fast? Fri, 30 Jul 2010 23:30:29 +0000 Wow. https://lwn.net/Articles/398202/ https://lwn.net/Articles/398202/ chromatic <div class="FormattedComment"> Perl 5 isn't written primarily in Perl 5.<br> </div> Fri, 30 Jul 2010 21:35:43 +0000 Wow. https://lwn.net/Articles/398201/ https://lwn.net/Articles/398201/ ariveira <div class="FormattedComment"> I collected this somewhere:<br> <p> "The most amazing achievement of the computer software industry is its<br> continuing cancellation of the steady and staggering gains made by the<br> computer hardware industry."<br> Henry Petroski<br> </div> Fri, 30 Jul 2010 21:06:29 +0000 Wow. https://lwn.net/Articles/398173/ https://lwn.net/Articles/398173/ dskoll <p>You are correct in assuming I haven't looked deeply at the code for Rakudo Star. I just downloaded it to "kick the tires". <p>I wish you luck in your optimization efforts, though I remain doubtful you'll succeed. <p><i>Rakudo's been in development since November 2007--to correct your "decade" number.</i> <p>My "decade" reference refers to Perl 6 itself; the first design notes for Perl 6 came out in 2000, I believe. (Another sign of a project in trouble, IMO, is abandonment of a major line of development [PUGS] in favor of a completely different line.) Fri, 30 Jul 2010 17:38:04 +0000 Wow. https://lwn.net/Articles/398149/ https://lwn.net/Articles/398149/ chromatic <div class="FormattedComment"> I can imagine an objective observer can tell the difference between the statements of two of the lead developers of Rakudo and Parrot and the statements of someone who, to my knowledge, has never looked at the code. (If you have, I apologize.)<br> <p> Patrick and I know where time and memory go in Rakudo Star, and as such, we're confident that we can find major optimizations. For example, with some effort we can halve the amount of memory used for objects, which both reduces the memory footprint and the amount of time spent in the garbage collector. Other such optimizations exist; don't assume that we care nothing for them.<br> <p> (Oh, and Rakudo's been in development since November 2007--to correct your "decade" number.)<br> </div> Fri, 30 Jul 2010 16:29:46 +0000 Wow. https://lwn.net/Articles/398132/ https://lwn.net/Articles/398132/ dskoll <p><i>Competitive on what grounds?</i> <p>Performance and memory consumption. <p><i>On saving a couple of megabytes of memory?</i> <p>Umm... a "couple of megabytes"? I'm talking about 93MB. Our commercial product uses many (sometimes hundreds) of concurrent Perl processes. Even though it's not embedded, 93MB extra overhead per process would kill us. (In perl 5, even though we fork after loading all our modules, it seems that the reference-counting GC method makes copy-on-write inefficient; most memory pages end up getting touched and we see poor memory sharing among processes.) <p><i>Me and many others just couldn't care less.</i> <p>Yes, and that is obvious by the state of Perl 6: Buggy, feature-incomplete and bloated after a decade of development. <p>The notion that programmer time is far more valuable than performance or memory consumption is usually true, but it is <em>not true</em> when it comes to programming languages. The designers of programming languages must try to make them efficient, because the time they spend doing that is multiplied thousands or millions of times when people use the language. Something that makes Perl a bit faster or smaller has enormous dividends, far more than one particular developer making his or her particular Perl project smaller or faster. <p>So if your feelings about speed and memory ("couldn't care less") is indicative of the general attitude among Perl 6 developers, then I say it again: This is a doomed project. It may be unpopular to say that in the Perl community, but I bet most objective outsiders would agree with my assessment. <p><i>So one could easily turn that argument around: by requiring the use of countless fragile models to still not reach the same level of maintainability and robustness features that Perl 6 has, Perl 5 is just not competitive.</i> <p>Except that's all in theory. A robust implementation of Perl 6 doesn't exist yet, and we have no idea whether or not the average Perl 6 project will be any more maintainable than the average Perl 5 project. Fri, 30 Jul 2010 15:34:57 +0000 Wow. https://lwn.net/Articles/398127/ https://lwn.net/Articles/398127/ niner <div class="FormattedComment"> Competitive on what grounds? On saving a couple of megabytes of memory? That's probably very important to you and embedded applications. Me and many others just couldn't care less. We do not save time and money by not needing that 30MB more memory, but by having a language that makes development more productive and code more maintainable. And both will get a huge boost by the step Perl 6 is making. So one could easily turn that argument around: by requiring the use of countless fragile models to still not reach the same level of maintainability and robustness features that Perl 6 has, Perl 5 is just not competitive.<br> <p> That's what you get by reducing the comparison of complex things like programming languages to one single metric.<br> </div> Fri, 30 Jul 2010 15:06:27 +0000 Wow. https://lwn.net/Articles/398125/ https://lwn.net/Articles/398125/ dskoll <p><i>Seriously: what exactly is the point of your statistics showing the surprising results that an early adopters pre-release is not as optimized as the predecessor that has been in used production for over 15 years?</i> <p>Come on! Eliminating 95% of memory usage and reducing startup time by a factor of 500 is merely a matter of <em>optimization</em>? <p>I recently completely rewrote a C program we were using in-house to use less memory. I reduced the memory to 1/3rd of the original, and that was with a large amount of effort and creative hacks. There is simply <em>no way</em> to "optimize away" the amount of bloat needed to make Perl 6 competitive with Perl 5. <p>After <em>ten years</em> of development, if the best that can be achieved is a feature-incomplete, buggy, bloated alpha... that's a sign that the project has gone off the rails. Fri, 30 Jul 2010 14:49:19 +0000 Wow. https://lwn.net/Articles/398124/ https://lwn.net/Articles/398124/ dskoll <p>Moderately faster, I can believe, but certainly not a smaller memory footprint. My experience is that Perl's memory footprint has grown at a small rate with each new major release. <p>And Perl certainly hasn't shrunk by over 95% nor speeded up by a factor of 25, which is the kind of improvement needed for Perl 6 to be competitive. Fri, 30 Jul 2010 14:45:27 +0000 Wow. https://lwn.net/Articles/398105/ https://lwn.net/Articles/398105/ niner <div class="FormattedComment"> Easy: Perl 5 has gotten faster over time and reduced memory footprint in many cases.<br> </div> Fri, 30 Jul 2010 12:23:00 +0000 Wow. https://lwn.net/Articles/398104/ https://lwn.net/Articles/398104/ niner <div class="FormattedComment"> So now we are suddenly at the size of the binary?<br> <p> Seriously: what exactly is the point of your statistics showing the surprising results that an early adopters pre-release is not as optimized as the predecessor that has been in used production for over 15 years? Another surprise: it also has more bugs! Who'd have thought?<br> </div> Fri, 30 Jul 2010 12:13:33 +0000 Wow. https://lwn.net/Articles/398103/ https://lwn.net/Articles/398103/ dskoll <p><i>Well the perl5 binary did have 17 (!!) years of time for optimization.</i> <p>But in those 17 years, the perl5 binary has <em>grown</em>, not gotten smaller. (I'm not sure about speed. I suspect important parts such as the regex engine have been made faster over time.) Fri, 30 Jul 2010 12:01:37 +0000 Wow. https://lwn.net/Articles/398102/ https://lwn.net/Articles/398102/ dskoll <p><i>Just because these features are bloated today doesn't at all mean that it must always be so.</i> <p>This is true in theory. Now please name one major software project that has become significantly smaller and faster over time. For bonus points, name one that did so while adding features (which is what Rakudo Star needs to do before it can go into production.) <p>I believe the improvements in speed and memory required to make Perl 6 competitive with Perl 5 are unprecedented in the history of computer science. I know the Perl 6 authors mean well and have been working hard, but I fear they've developed another Chandler. Fri, 30 Jul 2010 12:00:11 +0000 Wow. https://lwn.net/Articles/398089/ https://lwn.net/Articles/398089/ nix <div class="FormattedComment"> We also have 17 years of Moore's Law to catch up with :)<br> <p> </div> Fri, 30 Jul 2010 10:02:06 +0000 "Early Adaptors": R.I.P. https://lwn.net/Articles/397955/ https://lwn.net/Articles/397955/ exadon <div class="FormattedComment"> Another term destroyed by reckless marketing abuse.<br> </div> Fri, 30 Jul 2010 07:37:47 +0000 Wow. https://lwn.net/Articles/398083/ https://lwn.net/Articles/398083/ niner <div class="FormattedComment"> Well the perl5 binary did have 17 (!!) years of time for optimization. If Rakudo were even in the same category now it would seriously raise the question about what Perl 5 developers have been doing in that time.<br> </div> Fri, 30 Jul 2010 07:22:01 +0000 Wow. https://lwn.net/Articles/398077/ https://lwn.net/Articles/398077/ pmichaud <em>You've nailed it. In Perl 5, the bloat is optional. In Perl 6, it appears to be built-in.</em> <p>...except that most of Rakudo's existing runtime startup and extra dynamic memory costs for these additional features can be eliminated altogether, whereas that will be much more difficult to do in Perl 5.</p> <p>Just because these features are bloated today doesn't at all mean that it must always be so.</p> <p>Pm</p> Fri, 30 Jul 2010 06:42:35 +0000 Wow. https://lwn.net/Articles/398071/ https://lwn.net/Articles/398071/ chromatic <div class="FormattedComment"> We're working on ways to avoid loading and initializing features you don't use. I have strong confidence that we can achieve that for deployable applications. I have some ideas on how to accomplish that for one-off applications.<br> </div> Fri, 30 Jul 2010 06:00:50 +0000 Wow. https://lwn.net/Articles/398064/ https://lwn.net/Articles/398064/ dskoll <p><i>To really have a fair comparison, one needs to compare the memory footprint and startup time of Rakudo versus Perl 5 *with* all of Moose, Devel::Declare, Regexp::Grammars, Contextual::Return, Data::Dumper, etc. loaded and available. Otherwise you're not really comparing equivalent capabilities.</i> <p>You've nailed it. In Perl 5, the bloat is optional. In Perl 6, it appears to be built-in. <p>I've used Perl since 1996, and have been developing both free and commercial software with it intensively since 2002, and I'm utterly dismayed by the direction it is taking. IMO, Perl 6 is a textbook example of Second System Syndrome. <p>Even Perl 5 is suffering; CPAN is balkanizing into groups of modules with irreconcilable dependencies (eg. anything that wants Moose vs. Rose::DB that will <em>never</em> use Moose) that simply multiply the bloat. <p>Well, I'm hedging my bets and looking at other languages. Fri, 30 Jul 2010 03:45:16 +0000 Wow. https://lwn.net/Articles/398066/ https://lwn.net/Articles/398066/ mikov <div class="FormattedComment"> Yes, but what if you don't need all those capabilities? No more cheap quick &amp; dirty scripts that we all love so much.<br> <p> It is starting to look like Java in terms of startup speed and footprint, and that is saying something...<br> <p> Unless the situation changes drastically, no way you can use Perl 6 for lightweight system scripting, etc.<br> </div> Fri, 30 Jul 2010 03:45:16 +0000 Wow. https://lwn.net/Articles/398063/ https://lwn.net/Articles/398063/ pmichaud <div class="FormattedComment"> All of chromatic's responses apply, but the comparisons above are flawed at even a more basic level. <br> <p> To really have a fair comparison, one needs to compare the memory footprint and startup time of Rakudo versus Perl 5 *with* all of Moose, Devel::Declare, Regexp::Grammars, Contextual::Return, Data::Dumper, etc. loaded and available. Otherwise you're not really comparing equivalent capabilities.<br> <p> I suspect Rakudo may still come out slower and fatter than an "equivalent Perl 5", but likely much less so than these naive comparisons seem to suggest. And we're still very early in the "optimization" aspects of the development process for Rakudo.<br> <p> Pm<br> </div> Fri, 30 Jul 2010 03:20:48 +0000 Wow. https://lwn.net/Articles/398051/ https://lwn.net/Articles/398051/ chromatic <div class="FormattedComment"> Those are difficult estimates. I could see worthwhile targets being 2.0 for each of them, though I'd like to get startup time to 1.0 or less. It's possible to get memory consumption below 1.0, but that'll require more work in Parrot.<br> </div> Fri, 30 Jul 2010 01:17:49 +0000 Wow. https://lwn.net/Articles/398050/ https://lwn.net/Articles/398050/ dskoll <p>Let's assume that the final Perl 6 release is <i>N</i> times larger than Perl 5, starts up <i>M</i> times as slowly, and uses <i>P</i> times as much memory after initialization. What's your best guess as to the values of <i>N</i>, <i>M</i> and <i>P</i> in the first production release? Huge bonus if they're less than 1.0 :) Fri, 30 Jul 2010 00:43:07 +0000 Wow. https://lwn.net/Articles/398046/ https://lwn.net/Articles/398046/ chromatic <div class="FormattedComment"> That Perl 6 executable is a thin C wrapper around uncompressed (and unoptimized) Parrot bytecode. It doesn't compare directly to the Perl 5 binary at all.<br> </div> Fri, 30 Jul 2010 00:27:03 +0000 Wow. https://lwn.net/Articles/398043/ https://lwn.net/Articles/398043/ dskoll <p>OK, how about this: <pre> $ size ./perl6 ./install/lib/libparrot.so.2.6.0 text data bss dec hex filename 14219892 400 8 1422030 d8fc0c ./perl6 1535297 196868 796 1732961 1a7161 .../libparrot.so.2.6.0 $ size /usr/bin/perl text data bss dec hex filename 1245399 6744 344 1252487 131c87 /usr/bin/perl </pre> <p>(I included libparrot.so because it's not a standard system library.) So perl5 is about 1.2MB of program text, whereas perl6 weighs in at 15MB <em>and still</em> needs to dynamically create things that couldn't be put directly in the binary? <p>I repeat the title. Wow. Fri, 30 Jul 2010 00:16:53 +0000 Wow. https://lwn.net/Articles/398041/ https://lwn.net/Articles/398041/ dskoll <p>All your points are taken, and yet... I have never heard of a piece of software whose memory consumption dropped by 96% and startup time by 98% from the first alpha release to the first production release. That's what it would take to match the perl5 binary. <p>I certainly hope the Perl 6 developers are smart enough to pull off such a feat. Fri, 30 Jul 2010 00:09:54 +0000 Wow. https://lwn.net/Articles/397991/ https://lwn.net/Articles/397991/ pmichaud <div class="FormattedComment"> Parrot doesn't yet have a robust mechanism for keeping built-in class and data structures directly in the perl6 binary, so they end up being dynamically constructed at program startup.<br> <p> This is the primary reason for Rakudo's slow startup; and like most things in Rakudo and Parrot, the development teams are actively working on fixes for it.<br> <p> Pm<br> </div> Thu, 29 Jul 2010 20:59:42 +0000 Wow. https://lwn.net/Articles/397975/ https://lwn.net/Articles/397975/ b7j0c <div class="FormattedComment"> its well understood that rakudo is not yet ready for deployment...it is slow and uses gobs of memory. all of this is disclaimed in the docs, no one is claiming this is ready to be dropped in where perl5 or python is used today<br> <p> rakudo is about getting people using perl6...playing with the features, porting modules...<br> <p> in that regard this is a huge success. its safe to say 99% of perl5 users probably don't know 1% of the cool features in the core perl6 language...its important that these people know that perl6 is no longer just a internet meme about vaporware...<br> </div> Thu, 29 Jul 2010 20:13:09 +0000