Jonathan Worthington has done it again! Only last week did Merijn H. Brand‘s speed canary script drop below 2 seconds for the first time. In the past week, it dropped below 1.7 seconds twice already (at moment of writing). Which indicates a speed increase of almost 20%. Wendy van Dijk wrote a blog post titled “Perl 6 speed improvements over the years” to make sure everybody is on the same page with regards to this benchmark, with some nice comments!
Fortunately, this speed increase was corroborated by H. Merijn Brand with another benchmark. A simple object creation script that showed that, at least for that benchmark, Perl 6 is now faster than any version of Perl 5.
To describe how these speed increases came about, Jonathan Worthington wrote two blogposts:
Recommended reading if you want to get to the nitty gritty! Or, if you want a bit more of an overview, check out the August 2018 Grant Report. Or if you want to get in even deeper: an overview of changes in Moar
.
Another 6.d Teaser
Zoffix Znet released another Perl 6 Diwali Teaser (/r/perl, /r/perl6 comments). It describes how atomic operations allow multiple threads to update variables at the same time without needing any locking. If you have another idea to promote Perl 6, please be sure to leave an issue in the Perl 6 Marketing Repo!
RED developments
Fernando Correa de Oliveira invited people to look at his new ORM called RED which resulted in quite some nice feedback on Reddit.
Rakudo.js Update
Paweł Murias reports on the progress of running Perl 6 in the browser using Parcel
. And why he prefers it over Webpack
.
File encoding support
Samantha McVey reports on her progress in implementing several additional streaming encoders / decoders for encodings such as Shift-JIS
and UTF16
and how to deal with BOM
‘s in the latter encoding.
A naive introduction to OOP
This one appears to have been slipping through the cracks for more than a month: uzl has written a very nice naive introduction to object orientation. It takes a real-life use case, and creates an app from that.
Naming of variables
In the fifth instalment of the series titled How naming of variables works in Perl 6, yours truly shows that although on the surface variables look very much the same in Perl 6 compared to Perl 5, but that appearances can be deceiving. Oddly enough, this did not incite any comments on Reddit. It did generate a lot of (positive) tweets from all over the world.
Perl Small Stuff #11
Jo Christian Oterhals looked at whether Perl 6 can pass the Numberphile calculator tests. And comes to some interesting conclusions!
Fixing the syntax barrier
In an almost year old blog post, Christopher Chedeau describes his frustrations with syntax errors caused by false friends when moving between programming languages. Zoffix Znet and Ralph Mellor had some thoughts in relation to Perl 6, specifically with regards to use isms
.
House cleaning
Stefan Seifert describes how he has deployed a little Perl 6 daemon in production by using the operating system’s IO notifcation features that are exposed in Perl 6 as an asynchronous Supply of file change events. A nice example of how Perl 6 can gradually be used in an environment otherwise dominated by Perl 5.
Squashathon Ahead
On the 6th of October (anywhere in the world) it will be Squashathon Day again! This month, since it is October, your Pull Requests will also count towards the Hacktober Fest, thanks to the procedure put in place by Aleks-Daniel Jakimenko-Aleksejev. Looking forward to see many of you active next Saturday!
Core Developments
- Ticket status of last week and the month of September.
- Timo Paulsen made it possible to have the JIT add comments to the spesh log.
- Bart Wiegmans continued his work on making
fork
work properly in Rakudo Perl 6 on operating systems that have a nativefork()
functionality. He also removed support for the JIT-log: this is now incorporated in the spesh-log and implemented support for aperf map
on Linux. - Zoffix Znet fixed a small-int / big-int boundary division that occurred when multiplying / dividing two integer values.
- Elizabeth Mattijsen optimized various forms of
for
iterating over ranges and sequences, making something likefor 1,3...999999
about 150x faster. She also made[1,2,3]
, about 1.4x as fast. - Samantha McVey updated
Moar
andRakudo
to use the Unicode 11.0.0 semantics and grapheme databases. - And many other smaller fixes and improvements.
Meanwhile on Twitter
- Copy in the office by Simon Proctor.
- Perl Quick Reference? by Moritz Lenz.
- Showing relationships in RED by Fernando Santagata.
- Qu’on m’a réclamé by doomyflo.
- Copies for everyone! by ryn1x.
- Perl 6 in the browser? by The Perl Shop.
- Structures we don’t use enough by JJ Merelo.
- Why I never learned Perl by twinkus botanicus.
- Great stuff! by Jo Christian Oterhals.
- This was going to happen by Curtis Poe.
- What Perl 6 did for atomic by JF Bastien.
- Even Perl 6! by bytesize eater.
- A natural upgrade? by Nicolas Mendoza.
- Great post about Perl 6 Internals by Stéphane Payrard.
- Hashes to represent data structures by Joelle Maslak.
- Directly from Brian by Christophe Monat.
- Don’t we ♥ Perl 6 by justgitthings.
- Up and running in less than a day by vijayvithal.
- Moose 40x slower by E. Choroba.
- Swag Photo by ryn1x.
- It’s a sign by Zoffix Znet.
- March 32nd by Moritz Lenz.
- Too powerful by うら.
- Evolutionary algorithms and Perl 6 by JJ Merelo.
- All glory! by Wean Irdeh.
- Testing and polishing the next Comma IDE update by Jonathan Worthington.
Meanwhile on StackOverflow
- How to make a
Range
with..
, but counting down by Patrick Spek. - How to get all the signatures of multi sub or build-ins? by chenyf.
- Reducing logical operators by Eugene Barsky.
- How to do something functionally with all the elements of a list? by Eugene Barsky.
- How to assign the
.lines
Seq
to a variable and iterate over it? by Matthias Krull. - How to reload modules used in the
REPL
? by Matthias Krull. - Filtering elements matching two regexes by Eugene Barsky.
Meanwhile on FaceBook
- Power of the Atom by Zoffix Znet.
- New Record! by Wendy van Dijk.
- Over the years by Wendy van Dijk.
- Faster than Perl 5 by Zoffix Znet.
- Lotsa Camelia’s by Wendy van Dijk.
Meanwhile on perl6-users
- Installing Perl 6 on shared server by Richard Hainsworth.
words[]
question by Todd Chester.- Could this be any more obscure? by Todd Chester.
- Just posted a documentation
RFE
by ToddAndMargo. RFE
‘s onInf
andwords
documentation by ToddAndMargo.- A problem with native
CArrays
by Fernando Santagata. join
questions by ToddAndMargo.- Package Compile Question by Richard Hogaboom.
Perl 6 in comments
- Cross Pollination by Ralph Mellor.
- Named arguments similar to Perl 6 by 0rac1e.
CLOS
is a nice preview by yellowapple.- Taken real characters on by Ralph Mellor.
- Compare with Perl 6 by Elizabeth Mattijsen.
- A mammoth project by PegasusAndAcorn.
- Register based by tyingq.
- Don’t use the word “Char” by theindigamer.
- Running in a browser by marto.
- Unique things by Ralph Mellor.
- Containers that point to containers by fresheneez.
- Recursive descent parser generators by Ralph Mellor.
- Years behind by Ralph Mellor.
- Promise is the problem by smurfix.
- A Toy example by Ralph Mellor.
Perl 6 Modules
New Modules:
- Event::Emitter::Inter-Process by Tony O’Dell.
- ECMA262Regex by Edument AB.
- AccountableBagHash by Elizabeth Mattijsen.
Updated Modules:
- DBIish, Cache::Memcached by Jonathan Stowe.
- Getopt::Advance by araraloren.
- TAP::Harness by Leon Timmermans.
- Cache::Async by Robert Lemmen.
- App::Tasks by Joelle Maslak.
Winding down
When I said last week:
…a backlog of optimizations will see the spotlight in the week to come. Hopefully giving some really good news next week…
I couldn’t hope for the improvements we’ve actually seen! As Jonathan describes in his blog posts, there is more to come. But probably not in time for the 2018.10 Rakudo compiler / Rakudo Star release. So let’s enjoy the ride and see you next week for more Perl 6 news!
Yoᥙr means of teⅼling all in thiѕ pkece ⲟf writing is in fact
good, every one caan simply be awаre of it, Thanks a lot.