January 2019 Archives

Jonathan Worthington has requested an extension of $20,000 for his Perl 6 Performance and Reliability Engineering grant. This will allow him to dedicate another 333 hours to this work.

His previous work was successfully delivered as reported in the latest reports:

Jonathan writes: “I recently wrote about some of the things I plan to work on for Perl 6 during 2019. The first three items - escape analysis based optimizations, startup time and memory use reductions, and improving compilation times - fall within the scope of my ongoing Perl 6 performance and reliability grant. The extension that I am requesting should enable me to make progress on all of these, as well as continue providing a steady flow of other fixes and performance enhancements.

The number of hours I propose to work under this extension reflects an hourly rate increase from 50 USD to 60 USD. Thanks to exchange rate shifts and inflation, this adjustment for the most part serves to restore the real-terms value of the grant to where it was 2-3 years ago.”

Before we make a decision on this extension we would like to have a period of community consultation that will last for seven days. Please leave feedback in the comments.

(edit: Comments are now closed. We would like to thank everyone who took time to support Jonathan’s request.)

Jonathan writes:

December came with some travel and vacation, and so wasn't ideal for working on the larger ongoing tasks. I did, however, get in numerous smaller fixes, as well as reducing the overhad on regex matching and improving the performance of regex interpolation. Other fixes included a memory leak that was observed to impact Cro applications, a couple of GC errors, and a crash involving a certain interaction of precompilation and custom operators.

0:40:00 Fix a crash resulting from missing GC rooting in first-class contexts.
0:26:00 Fix plugin spesh GC issue that occasionally occurred under JIT.
0:17:00 Improve handling of errors on thread join.
0:18:00 Fix being unable to mix a role containing a private method into an enum value.
2:04:00 Resolve a segfault involving precompilation and custom operators.
0:52:00 Fix a memory leak in MoarVM affecting some long-running programs.
0:30:00 Look into and fix some problems with the new floating point read/write binary ops.
0:49:00 Look into IO::Socket::Async::SSL regression on HEAD Rakudo; 
        release a new version fixing it.
3:13:00 Various regex performance improvements.

Total: 9:09

Total time spent on current grant period: 151:30
Total time remaining on current grant period: 48:30

Jonathan writes:

In November I continued my work towards partial escape analysis and related optimiztions in MoarVM. In terms of the analysis itself, I spent some time designing and starting to implement deoptimization handling. If we use the analysis to decide to eliminate an allocation, then this decision will have been made based on specialized code containing guards. In the event these guards fail, we must be able to undo the optimization, so we can fall back to running the general version of the program. I also continued my work on the static optimizer in Rakudo, which will provide many more opportunities for escape analysis related optimizations to take place, as well as helping the pre-optimized code speed.

I worked on a couple of 6.d related issues, including the new start in sink context semantics, which make it harder to lose asynchronous errors. Finally, I also fixed a number of other smaller issues.

7:32:00 Work on deopt handling in partial escape analysis
3:12:00 Leixcal to local lowering optimizations in Rakudo
1:23:00 Implement the new sunk `start` semantics for Perl 6.d
1:15:00 Track down an occasional crash in Supplier::Preserving
0:51:00 Fix a bug involving inline end annotation motion
2:07:00 Resolve assorted release blocker issues

Total: 16:20

Total time spent on current grant period: 142:21
Total time remaining on current grant period: 57:39

The 2019 DC-Baltimore Perl Workshop will be in Silver Spring, MD, on April 6th, 2019. The call for talks is now open and this year's themes are Perl (of course) and related technologies. Proposals can be submitted through the workshop website until Jan 31, 2019. Registration is also open and attendance is free for speakers, students, and people currently between jobs. We hope to see you there!

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Archive

This page is an archive of entries from January 2019 listed from newest to oldest.

December 2018 is the previous archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2