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.

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 native fork() functionality. He also removed support for the JIT-log: this is now incorporated in the spesh-log and implemented support for a perf map on Linux.

continued his work on making work properly in Rakudo Perl 6 on operating systems that have a native functionality. He also removed support for the JIT-log: this is now incorporated in the spesh-log and implemented support for a on Linux. Zoffix Znet fixed a small-int / big-int boundary division that occurred when multiplying / dividing two integer values.

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 like for 1,3...999999 about 150x faster. She also made [1,2,3] , about 1.4x as fast.

optimized various forms of iterating over ranges and sequences, making something like about 150x faster. She also made , about 1.4x as fast. Samantha McVey updated Moar and Rakudo to use the Unicode 11.0.0 semantics and grapheme databases.

updated and to use the Unicode 11.0.0 semantics and grapheme databases. And many other smaller fixes and improvements.

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on FaceBook

Meanwhile on perl6-users

Perl 6 in comments

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!