March report of the Raku Development Grant of Jonathan Worthington
Thu, 16-Apr-2020 by
Matthias Bloch
edit post
Jonathan writes:
In the first week of March I attended the German Perl and Raku workshop. While I didn't do any grant work there, I did meet with some of the Raku core contributors, and had various useful discussions. Unfortunately, I also got a throat infection, which made the following week or so rather less than productive. Here's what I did achieve in the rest of the month.
```
0:32 Fix signal handlers wrongly running concurrently in
a react block with a single whenever, since the signal
Supply wrongly promised it would follow protocol when
in fact it needed to be sanitized.
0:51 Look into slowness of -ne. Improve code-gen of it, only
gaining a little. Then discover that `$_ is copy` is
compiled poorly, and improve that for a bigger win
(not just on -ne, but on all uses of `is copy` on a
Scalar)
0:32 Make user-defined ops with chaining associativity work
correctly with meta-ops.
0:34 Looking into declarator docs applied to roles issue
1:37 Investigate On Stack Repalcement failing in certain
conditions, leaving it running the unoptimized code.
Fix this, making a benchmark run over 5 times faster.
2:07 Fix m:g/foo {}/ giving incorrect results. Such
regexes did not get their own $/ and the sync-up of
the match for the code block would clobber the List
of matches with that single match
57:00 Look into a performance oddity where it looked like
42.Str was faster than "42".Str. It wasn't really;
the optimizer ripped almost everything out, and it
was measuring that returning `self` was not so well
analyzed and optimized in the static optimizer.
Made it so.
0:59 Track down and fix a problem in argument specialization
where cases of named arguments we could not properly
handle led to partial transformations, resulting in
broken specialized code.
0:34 Improve error reporting around out of range values to
chr, both in the VM-level op and in Rakudo
3:12 Look into the dispatcher sitaution, as a result of a
significant performance regression when the semantics
of nextsame et al were improved. Start looking at our
overall dispatching strategy and do some design work
on various related problems that we could take on
with a unified solution.
0:16 Code review
Total reported time in this report: 12:13
Remaining approved hours on current grant period: 144:47
```
Comments (0)