Jonathan Worthington completed his four part blog about the
MoarVM Specializer Improvements he did in the past 3 months, supported by a grant from the Perl Foundation. The four parts are:
- Gathering Data
In which he explains the path towards the new
- Optimization Planning
About the introduction of the planner of specializations.
- Optimizing Code
About the different forms of specializations and the
factsthey are based upon.
- Argument Guards
About making sure that code execution will remain correct when any of the prerequisites for a given optimization change.
Required reading for anybody interested in the current and future inner workings of the
Rakudo Star 2017.10 Released
Perl 6 Advent Calendar
No More Grants This Year
The Perl Foundation has run out of allocable funds for grants for this year. Your donation or a donation by your employer will allow for more grant work to be supported next year. So please give kindly, especially if you need to finish off budgets before the end of the year!
- Daniel Green improved the performance of a very specific case of concatenation of strings from
O(1). The reason: that specific case was used in a lot of benchmarks and the solution did not have any adverse effects on all other string concatenation.
- Timo Paulssen fixed a segfault that would occur when trying to create a low level iterator on a type object. This bug was exposed by trying to do a
.pickon an empty
BagHash, which didn’t check for emptiness. That particular bug was fixed by Elizabeth Mattijsen. Who also made sure that safe
signals are now handled by the timer worker pool, which should make it less likely that your
control-cwill be lost in a barrage of general worker tasks.
- Samantha McVey improved error reporting on situations in quoting,
tr///, when a starter would be followed by a combining code point. She also revived a two-year old
nqp-branch which brings us
sprintf(which made a lot of TODO tests pass!).
- Christian Bartolomäus implemented
JVMbackend (which made a lot of
IO::Socket::INETtests pass on that backend) as well as generally making sure none of the
MoarVMbackend related work busts building the
- Jonathan Worthington fixed a scoping issue on the
- Elizabeth Mattijsen also made sure that OS thread exhaustion is more gracefully handled by
$*SCHEDULER: if there are no more threads available, it will now only try once a second to create another OS thread (instead of trying this 100 times / second, which would leave less CPU for the other threads to complete their tasks).
- Nick Logan did some fixes and cleanups in Rakudo’s
- Finally, Elizabeth Mattijsen continued to be carried away by work on
Telemetry. Most important additions were an ad-hoc instrument that allows you to snap the state of a number of variables (
Telemetry::Instrument::AdHoc), and an instrument that takes basic
Threadusage data such as number of OS threads started / completed / aborted (
- And many other fixes and improvements.
Other Blog Posts
- YAPC::Russia 2017 by Viacheslav Tykhanovskyi.
- What should I learn: Pumpking Perl 5 or Rakudo Perl 6? by ink_on_my_face.
- Interview with Damian Conway by Pramod Shashidhara (Reddit comments).
- Having trouble with grammars in Rakudo Perl 6 by st33znson.
- Rakudo Perl 6 Killer App Kickstarter by flebber.
Meanwhile on Twitter
- Community is the richest part by Tommy Stanton.
- Deep Dive on
perl6book.comby Moritz Lenz.
- Maybe in November by Moritz Lenz.
- Newly added Alpine Rakudo pkgs can shrink Docker images significantly by Claudio Ramirez.
Meanwhile on StackOverflow
.precomp…repo-idsubfolder in working folder by Eugene Barsky.
.transwith keys longer than one symbol by Eugene Barsky.
- Calling a module subroutine using a fully qualified name by Håkon Hægland.
- use module inside other module by Arimaafan.
- How to put a sub inside a
regex? by Eugene Barsky.
regexes as arguments by Eugene Barsky.
- Building a
subby Eugene Barsky.
- Is there a
perl6.org? by lisprogtor.
- How to refer to previously matched items in a
grammar? by Håkon Hægland.
regexes using a loop by Eugene Barsky.
- How to pipe a string to process’
STDIN? by Håkon Hægland.
It was a bit of a quiet week: nothing on
perl6-users or on
perlmonks. Which is also nice every now and then, as it makes the work of yours truly for the Perl 6 Weekly easier. The coming weekend will see the Rakudo 2017.11 compiler release with already more than 300 commits under its belt. The coming weekend will also see yours truly giving a one-hour “Introduction to Rakudo Perl 6” presentation at T-Dose (in Dutch), as well as a Perl stand with a lot of Rakudo Perl 6 books and goodies. Whether or not you will be able to attend, it seems wise to check in again next week for more Perl 6 related news 🙂