June 2019 Archives

TPC:iP Thank You for Coming

No Comments

In this issue:

Maintaining Perl 5 (Tony Cook): May 2019 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 30 tickets were reviewed, and 5 patches were
applied

[Hours]         [Activity]
  0.20          #121783 comment
  7.98          #122112 re-work to save the pid instead of the fd
                #122112 more re-work, testing
                #122112 debugging, re-work differently
                #122112 work on a simpler fix
                #122112 more work on simpler fix, testing
                #122112 more testing, commit message, comment with patch
                #122112 re-test and apply to blead
  0.55          #130585 rebase, testing, push to smoke branch
  0.98          #132782 review, testing, comment (via #p5p, since RT is
                misbehaving)
  0.89          #132964 comment
                #132964 oops, comment
                #132964 re-check, testing, apply to blead
  2.73          #133850 rebase, test old patch, work on fixing the other
                cases
                #133850 more work on fixing other cases, comment with
                patch
  2.30          #133958 discussion with khw, research, work on a fix,
                testing, write up a long commit message, comment with
                patch
                #133958 review smoke reports, comment
                #133958 re-test and apply patch
  7.02          #134031 review discussion, testing, reproduce
                #134031 more testing, research
                #134031 discussion in #p5p, testing, some debugging
                #134031 more testing, discussion, research expected C math
                precision, freebsd bug reports
  3.20          #134041 (sec) work on a fix
                #134041 (sec) work on a fix
                #134041 (sec) more work on a fix
  0.47          #134046 review responses, rebase, retest, apply to blead
  1.73          #134061 research and comment
                #134061 testing, fix a porting test failure, apply to
                blead
  0.78          #134065 more debugging
 13.90          #134072 debugging, comment
                #134072 debugging, research
                #134072 debugging
                #134072 debugging, work on a fix
                #134072 get test case working, try to make a test
                #134072 work out a test after some flailing around,
                testing
                #134072 track down a related issue (CVREF in stash instead
                of glob outside of main::, find it, comment with patch,
                add reference to experiment ticket
  0.45          #134080 research, comment
  3.99          #134111 debugging, research
                #134111 more research, comment
  0.73          #134114 review patch, research
  1.10          #134126 research, long comment
  0.85          bug report with patch for re debug and uniprops
  0.93          regexp runtime limits:
  2.02          regexp runtime limits: and CPU limits
  1.98          regexp runtime limits: don’t tie it to re.pm ,
                tests, documentation (needs some polish)
  0.37          regexp runtime limits: exploring a maze of twisty macros
  0.65          regexp runtime limits: look for a better way of handling
                the debug flag
  0.98          regexp runtime limits: more efficiency, bang head against
                inconsistent naming
  1.55          regexp runtime limits: research
  2.30          regexp runtime limits: solve the macros, work on
                implementing limits
  2.07          regexp runtime limits: try to work up a memory limit test
                case, side-trip into security issue discussion with khw,
                find a test case, work on efficiency
  2.22          regexp runtime limits: work on memory limits
  0.22          review #p5p discussion (about direction of perl)
  0.27          Review maint backports
======
 65.41 hours total

Our next nominee to join the Perl Foundation board is a candidate to take over the very important role of President. We are very excited to present Stuart Mackintosh for this position. Stuart is based in the UK and has been working with Open Source software for over 25 years and through his company OpusVL since 1999.

Over that time, he has worked with several open source organizations including OFE, FSFE and other Open Source industry associations around the globe. Most recently Stuart leads OpenUK - a not-for-profit organization that advocates the use of open source in the UK and supports the development of the supply chain and customer base.

He is an avid advocate for Perl and has worked through his company to support Perl community initiatives. A more extensive bio is available on his website.

Below are Stuart's answers to the questions we ask of all board nominees:

  • Why do you want to become a member of the TPF Board?

I have been involved with Perl for 25 years, firstly as a developer, then building on Perl to develop an Open Source solution implementation business.

Additionally, I lead OpenUK the not-for-profit UK Open Source industry association and a couple of other business interests.

Perl has enabled a great deal to be achieved for my customers and many have gone on to be highly successful.

Perl has given a great deal but also has missed many opportunities. I am not one to throw stones but seek the part I can play in making things better. An invitation to join TPF means that I can return something back to the community and also see if I am able to help TPF take a bigger step forward.

  • What existing TPF initiative(s) are most important to you and why?

TPF provides a valuable role within the overall steering of Perl and the conferences are an essential part of the technical progression. Managing revenues and grants is important to developing the communities and having this function on neutral grounds supports integrity and sustainability of Perl as a whole.

Of greatest importance are the established Perl communities.

  • What goals would you like to see TPF pursue in the future?
  1. Pragmatic advocacy: Perl is excellent, and is a standard component of most digital things. I would like more people to know how and why they should also know this. The reasons that I selected Perl 25 years ago are as relevant today to the new generations of digital pioneers.

With my Perl team, an initiative was launched some years back however in isolation we were not able to gain traction and develop further. Although the site is outdated, the reasoning is not so I propose that we set goals for communications and awareness.

  1. Sponsors: An increase in breadth of sponsors is important to strengthen the TPF foundation and to do this, a value proposition is required.

  2. Student resources: Developing appropriate resources as 'on-ramps' to Perl for beginners and students would enable them to get more done as well as broaden the Perl communities.

Also important to me is the security profile of Perl, it's brand identity, and maintaining quality of everything we do under the Perl name.

Following our standard policy, we invite the community to comment or ask questions of Stuart for a period of two weeks.

The Perl Conference Pre-Conference Newsletter

No Comments

In this issue:

This year's European Perl Conference takes place in Riga, Latvia, between the 7th and 9th August 2019. This is the 20th edition of the conference previously known as YAPC::Europe, then TPCiA and TPCiG, and now it is renamed to PerlCon. Despite the name and location, our attendees come from all around the world. The top five countries with the most attendees are the UK, Germany, USA, Russia and the Netherlands.

The main program includes three days of three tracks of talks, including the keynotes given by Larry Wall and Jonathan Worthington. Among the talks, we have a lot of both Perl 5 and Perl 6 related talks, as well as a number of topics which are not purely dedicated to Perl, such as working with databases, or creating virtual environments, etc. Until the 15th of June, it is still possible to submit a talk. The conference schedule will be published at the end of June. Explore the talks that are already submitted at https://perlcon.eu/talks.

Beyond the main program, there is an extensive entertainment block, which includes two (two!) pre-conference meetings, a cocktail and beer parties at the end of the first day, the Game night, the Attendees dinner at the second day, and a River cruise at the end of the third day, thus you can join if you do not leave immediately after the conference is finished. The schedule will also include three sessions of lightning talks.

You can get your conference ticket on our website: https://perlcon.eu/tickets.

How to reach us:

Love Perl? Come to Riga!

TPF Grants Committee: Moritz Lenz

No Comments

I am pleased to announce that the TPF Grants Committee has voted to accept a new member, Moritz Lenz.

Rafael Garcia-Suarez has retired from the TPF Grants Committee.

We appreciate his service to the community over the years, and wish him well in his new endeavors.

If you are interested in volunteering as a member on the committee, please reach out to me at [email protected]

Grant Proposals May/Jun 2019

No Comments

The Grants Committee has received the following grant proposal for the May/June 2019 round.

Before the Committee members vote on any proposal, we like to solicit feedback from the Perl community.

Review the proposals at their individual links and please comment there by June 14th, 2019. The Committee members will start the voting process following that and the conclusion will be announced shortly after.

The Grants Committee has received the following grant proposal for the May/June 2019 round. Before the Committee members vote, we would like to solicit feedback from the Perl community on the proposal.

Review the proposal below and please comment here by June 14th, 2019. The Committee members will start the voting process following that.

A Complete Perl 6 Course with Exercises

  • Name

    Andrew Shitov

  • Amount Requested

    USD $10,000

Task: Create a complete course of the Perl 6 programming language.

Abstract

I want to create a complete course with exercises covering all aspects of Perl 6. It will be aimed at everyone familiar with programming. The goal is to make a course that you can use in self-studying or as a platform in the class.

The Perl Conference June Newsletter

No Comments

In this issue:

Maintaining Perl 5 (Tony Cook): April 2019 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 23 tickets were reviewed, and 2 patches were
applied

[Hours]         [Activity]
  0.74          #133878 (sec) debugging
                #133878 (sec) debugging, comment
  0.38          #133909 review, porting test, minor fix, apply to blead
  1.00          #133925 (sec) review code
                #133925 (sec) more code review
  1.18          #133951 re-test, apply to blead
  1.82          #133989 debugging, try to work out a fix
  2.69          #134000 (sec) debugging
                #134000 (sec) debugging, work on a fix, comment with
                patch, discussion
  2.24          #134008 (sec) debugging
                #134008 (sec) more debugging, work up a fix, comment with
                patch, more comment
  3.16          #134028 debugging, research, comment
                #134028 more debugging, try working on a patch, find
                strange localization of negative array elements behaviour
                and comment to the list
                #134028 more work on a patch, track down some issues,
                comment with an incomplete patch
  0.35          #134032 research, comment
  0.93          #134035 debugging, comment with a patch
  0.93          #134041 (sec) review,research and comment
  1.87          #134042 debugging, research, comment
  0.87          #134045 debugging, comment with patch
  1.07          #134046 research, comment
                #134046 comment with possible patch
  1.68          #134050 debugging
                #134050 more debugging, comment
  0.17          #134052 review and comment
  0.97          #134054 prepare to reproduce, start test run
  7.53          #134065 debugging
                #134065 debugging
                #134065 debugging
                #134065 wander through the maze of generation of the op
                tree
  0.18          Follow-up on Encode stop_at_partial strangeness
  1.62          libperl.t diagnosis with khw, find cause. Testing
  1.52          more looking for Storable leaks, comment
  0.95          Storable leaks mentioned by DaveM, find one leak which
                doesn’t quite match description, look for others
  0.92          try Storable ASAN again
======
 34.77 hours total

Bart reports the latest progress:

  • Fixed a few windows-specific bugs (the ABI that we have to compile to is different between Windows and POSIX)
  • Assigned a permissible-register set to live ranges, which makes it possible to combine values with distinct register requirements (relevant for generalized register requirements)
  • Ensured that when a value is spilled to make place for another, the released register is actually one that the new value can use.

In other words, a bunch of register allocator work. Floating point support is close to being finished.

He adds that he plans to render the expression Intermediate Representation tree in a linear format:

Aside from that, I've been planning my next move - which I intend to be a refactor to transform the 'expression' IR tree into a linear format. This has the following advantages:

  • The (relative) order of instructions in code is reified - that makes it possible to write a transform that changes this order.
  • And it also makes it possible to assert that we don't write an invalid order (this was the problem I reported on a few months back)
  • It becomes easier to write fragments that span multiple basic blocks. This should improve code generation (can keep values live longer).
  • The 'linearizing' conversion can be done in Perl, which is altogether easier to work with.

Most parts of the existing JIT are, fortunately, barely affected by this change. The main advantage of the current structure is that it is fairly trivial to manipulate. I'm still investigating how best to implement the linear IR so that manipulation remains easy and cheap. (Unfortunately, using a pointer-and-structure based system is fairly expensive because a single MoarVM opcode expands to a multitude of expression operators).

MAJ

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

The main thing I have been doing over the last month is to make the
optree-walking functions in op.c  non-recursive and/or non-leaky.

In auto-generated code, such as

    $a[0][0][0][0]..

and things involving arbitrary-deep nesting of braces and parentheses,
it's easy during compilation to create a deep optree. Many functions in
op.c walk those trees using recursion, which can blow the stack and cause
a crash. This is especially noticeable under threads, where each thread by
default only gets a relatively small stack.

Some functions were modified to malloc() a buffer to keep track, but that
could leak if the compiler croaked during tree traversal.

SUMMARY:
      1:00 fix 32-bit builds
     26:55 make optree functions in op.c non-recursive and/or non-leaky.
    ------
     27:55 TOTAL (HH::MM)

 293.7 weeks
3338.1 total hours
  11.4 average hours per week

There are 128 hours left on the grant

Timo developed a language named `confprog`, using which one can set entry points in the profiler. This is useful for selective profiling of large codebases. Read more at: A Close Look At Controlling The MoarVM Profiler

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 June 2019 listed from newest to oldest.

May 2019 is the previous archive.

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

Pages

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