January 2019 Archives

Maintaining Perl 5 (Tony Cook): December 2018 Grant Report

This is a monthly report by Tony Cook on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

Approximately 27 tickets were reviewed or worked on, and 9 patches
were applied.

[Hours]         [Activity]
  0.52          Cpan #122912 followup
  0.33          #131165 review, make public, comment and close
  6.29          #133030 review discussion and my old patch, research
                #133030 testing, cross-platform testing, fixes for darwin
                (though utime() not all there yet on darwin)
                #133030 work on-subsecond fd time setting via futimes()
                #133030 more futimes, testing on darwin, retest on NetBSD
                (it failed)
                #133030 OS X testing, research
  0.75          #133519 setup, more testing, comment
  0.33          #133558 read discussion, ask reporter if problem is fixed
                #133558 check backportability to 5.26/5.28, add to votes
                file for both and close ticket
  3.48          #133582 review patches, testing
                #133582 more testing, apply to blead
  0.78          #133590 testing, metaconfig
                #133590 more metaconfig
  0.80          #133596 research and comment
                #133596 report upstream to EU::MM
  3.74          #133603 work on reproduction to bisect, work on bisect
                script, start bisect
                #133603 review, test bisect results
                #133603 work on bisect some more, bisect was bad?, get a
                good bisect, testing, research, comment
  1.20          #133654 work up a test, fix, apply to blead
  0.92          #133659 split unfixed behaviour into a new ticket (the
                reported problem is fixed), propose fixes for maint 5.28
  1.76          #133661 build prep, debugging
                #133661 debugging, comment
  1.15          #133667 research, comment with patch
                #133667 fix extra +x bit from previous work, testing,
                apply patch to blead
  2.07          #133673 work up a patch, comment with patch
                #133673 retest and apply to blead
  0.73          #133691 review patch, testing, apply to blead
  1.82          #133706 (sec) research
                #133706 (sec) work on a patch, comment with patch
                #133706 re-test and apply to blead with a re-worded
  5.39          #133708 work on removing probing
                #133708 more removing probing, testing
                #133708 more cross platform testing
                #133708 re-test and apply to blead
  0.67          #133712 review patch and discussion, test build, apply to
  0.52          #133722 review and comment
                #133722 review and comment
  1.67          #133731 test with and without patch, apply to blead
  0.13          comment on LGTM regexec.c thread
  0.62          comment on “regexec.c: LGTM analysis warns about two
                comparisons, but we actually need them”
  0.75          Maint-votes review
  0.40          Merijn’s XS stringification
  0.62          Merijn’s XS stringification: debugging, comment
  0.58          perldelta updates
  0.58          try to duplicate Abigail’s darwin hang
 38.60 hours total

Due to the lack of a budget for 2019, the Grants Committee process to request grant proposals is stalled.

Once funds for the current year are allocated, we will re-open the RFP process.

The Perl Foundation is participating in Google Summer of Code again this year. Projects on Perl 5, Perl 6 (including Rakudo and MoarVM), modules or infrastructure are all equally welcome.

Currently we are seeking project ideas and mentors. The GSoC page has some more information on what it means becoming a mentor.

Ideas are collected in a GitHub repo, so just open a pull request with your idea.

Deadline for project idea and mentor proposals is February 4, 2019.

If you have any questions, feel free to contact one or more of JJ Merelo, Mark Keating and Patrick Boker.

Timo has implemented a new graph for the overview page:


Graph items, when selected, display more information such as the file name and line number. The file name and line number are clickable and will take you to the file and line in GitHub.

Read more at: These graphs are on Fire!

Back in August 2018, André Walker reported on his initial work to revitalize the revitalizing of blogs.perl.org.

He made the following report to the TPF Grants Committee on 14 Aug 2018 (edited by me). The latest report as of this post can be found here.

Short update regarding grant progress. I have most of the major features I wanted to implement already in place, even if some are a bit rough. So it's possible to register, write posts, update them, browse, etc. The site is "themeable" with handlebars templating, which is compatible with another open source blogging platform (Ghost), so we could share design resources. There are no hardcoded mentions of "blogs.perl.org" outside the configuration, so the engine is very reusable.

Along the way, there was some refactoring, so there were some recent regressions that I have to fix (e.g. some messages like "Invalid username / password" are not being displayed). Besides that, there are a couple of bugs here and there, and I went a lot more lax in the end regarding tests... So there's some polishing to do.

My "test" installation is here: https://blogs-perl.herokuapp.com. The downside is that it's not very useful for an open test, because I have to whitelist the email addresses that I can send messages to. That's from the provider to avoid spam.


André Walker reports significant progress on his bold attempt to revitalize blogs.perl.org.

He made the following report to the TPF Grants Committee on 3 Jan 2019 (edited by me). I will also backpost another report André made to the Committee in Aug 2018 shortly.

The work I set out to do for the grant on blogs.perl.org is almost complete. Here is a breakdown of what is done, what is missing for a first release, and what should be improved post release/grant (in my opinion).

Since the last update, I've been working on adding comments to the system, since I had decided to leave that for last. That meant adding back the schema, implementing a nice design for it, tests and whatnot. That is done, although there's always room for improvement :) In this case in the UI mainly, since I'm not a designer / front-end dev.

I also added support for the old passwords...

I spent a long time implementing helpers for theming, mostly copied from Ghost. This gives us room to improve the UI. A coworker, friend of mine, who is a designer, offered to improve the layout. This shouldn't delay anything for me, only improve the result.

Finally, I also added feed support (rss, atom), since I understand many visitors use it for the current site. ... What's missing:

  • the search -- most hooks in the backend are already in place, there are even tests done for the search via the HTTP API. But there's no page for the search results, so I need to create one. ...

So, search is halfway done, import shouldn't take long, it sounds like less than a week's worth of work.

There are improvements to the anti-spam feature I implemented, UI changes, better tests and so on, but I think these can be done gradually afterwards. I can imagine small bugs showing up as we release, but if I hold the code to myself trying to perfect it, it will be of no use. ...

You can try out the new platform at https://blogs-perl.herokuapp.com/!


Jonathan Worthington recently requested an extension of his Perl 6 Performance and Reliability Engineering grant.

I'm pleased to announce that the Board of Directors approved extension of another $10,000. It'll allow him to dedicate another 167 hours to this work.

I would like to thank the community members who took time to comment on this grant extension request and our sponsors who made funding the grant possible through our Perl 6 Development Fund.

I also appreciate Jonathan Worthington's continued hard work and monthly updates with the grant manager, Matthias Bloch.

EDIT: The original request was $20,000 but I have adjusted the amount to $10,000 for this round due to the remaining fund. I have opened new discussion within TPF to allocate more money to the fund.

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.

February 2019 is the next 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