5 ms·
In my opinion, Cro (https://cro.services https://cro.services) stands a good chance of becoming the "Ruby on Rails" for Perl 6. "Cro is a set of libraries for
by lizmat 8y ago
In my opinion, Cro (https://cro.services https://cro.services) stands a good chance of becoming the "Ruby on Rails" for Perl 6.
"Cro is a set of libraries for building reactive distributed systems, lovingly crafted to take advantage of all Perl 6 has to offer. The high level APIs make the easy things easy, and the asynchronous pipeline concept at Cro's heart makes the hard things possible."
"Cro is currently in BETA. We're overall quite satisfied with most of the APIs, and don't plan major changes in this regard. Expect some bumps on the road - and if you run into any of them, please consider filing a bug report so we can make things better."
- cutler 8y agoPerl 6 is technically a far superior language than all the usual suspects (Python, Ruby, JS, PHP, Perl5) put together but what use is that when it's dog slow? The latest Rakudo is 23 times slower than PHP 7.2 in a task which used to be Perl's forte - parsing a log file with a regex.
- peteretep 8y agoPlenty of applications where speed really doesn't matter. Those will be the beach head, and as use grows, speed will grow too.
- cutler 8y agoThere's no correlation between popularity and speed growth. Perl6 should never have been released in its current state.
- lizmat 8y ago> Perl6 should never have been released in its current state. It wasn't released in its current state? In fact, quite a lot was improved in the past 2.5 years. Not sure where you're getting at.
- cutler 8y agoI'm getting at the fact that it's 9 times slower than Perl 5 at doing something which made Perl famous - parsing files with a regex. Perl 6 seems to have thrown away the basics of Perl while trying to be all things to everyone.
- lizmat 8y agoAt this point in time, I wouldn't recommend parsing files with a regex just yet. Parsing is indeed one of the few areas in Perl 6 that hasn't seen any specific optimizations yet. Where Perl 6 has seen a lot of work, is general performance, and specifically in the part of concurrency. Where the common idiom for grepping lines using a lazy iterator and showing the matching lines from a file in Perl 6 is: .say for $filename.IO.lines.grep( { m/foo bar/ } ); You can spread this out over multiple CPU's by simply adding the word `hyper` to it. .say for $filename.IO.lines.hyper.grep( { m/foo bar/ } ); On most current hardware (4 x 2 hyperthreaded CPU's) this would cause this code to run 3x as fast, while keeping order. If you're not interested in order, you can use `race`: .say for $filename.IO.lines.race.grep( { m/foo bar/ } ); Which will make it go a little faster still because it won't need to remember the order of the batches of work. Jonathan Worthington explained this quite well in this blogpost: https://6guts.wordpress.com/2017/03/16/considering-hyperrace-semantics/ https://6guts.wordpress.com/2017/03/16/considering-hyperrace... So, yes, at this time, that particular job is done 9x faster with Perl 5 than it is with Perl 6. If you don't need any specific features of Perl 6, I'd suggest you keep using Perl 5 for that. Whether this answer will continue to be correct in the future? Time will tell.
- cutler 8y agoWrong priorities then. I also doubt this will ever be fixed. Perl 6 is just unacceptably slow at the basics. I mean if Perl 6 had been rushed out I would find these excuses more acceptable but after 15 years in development!?
- lizmat 8y agoThese are not excuses. These are facts. Whether the facts are excusable, I'm leaving for the reader to decide. One could argue that Perl 6 is the first version of Perl that wasn't rushed out, BTW.
- deleted 8y ago[deleted]
- b2gills 8y agoThere is a perfectly reasonable (and slightly less than serious) explanation from brrt. https://brrt-to-the-future.blogspot.com/2018/07/perl-6-on-moarvm-has-had-jit-for-few.html https://brrt-to-the-future.blogspot.com/2018/07/perl-6-on-mo... 1. All problems in computer science can be solved with a layer of indirection. 2. Many layers of indirection make programs slow. 3. Perl 6 solves many computer science problems for you ;-)