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)