August 2016 Archives

Jonathan Worthington writes:

I have completed the initial 200 hours awarded under my Perl 6 performance and reliability engineering grant. This report summarizes what has been achieved in this time. I have also written a number of more detailed blog posts about my work.

Tooling

I implemented heap snapshots in MoarVM. This is a mechanism for taking recordings of what is in the heap after each garbage collection run. It can be used to understand the memory use of programs, but also to track down memory leaks. The snapshots are produced by passing the --profile=heap option when invoking Rakudo Perl 6. They can then be analyzed using a tool, which I implemented in Perl 6. It makes good use of both native arrays and parallel processing, and so also serves as a good example of a Perl 6 program processing a non-trivial volume of data. The data appears to be something of a goldmine, and following up on and addressing everything raised by it will probably keep us busy for a good while. It has already been used to track down memory leaks and fix them.

Tony Cook writes:

Approximately 27 tickets were reviewed, and 5 patches were applied

HoursActivity
5.02#126203 review code for leak issue, apply original patch,
find related issues, research
#126203 more related issues
#126203 email to jhi
0.95#127663 re-familiarize, consider options
21.05#127834 (sec) comments, fix some issues

Dave Mitchell writes:

I spent last month mainly working on "fuzzer" bug reports, and trying to process some of the backlog in my p5p mailbox.

Summary

1:45 "Confused by eval behavior" thread
1:21 [perl #127834] @INC issues
1:26 [perl #128241] Deprecate /$empty_string/
2:03 [perl #128253] Assert fail in S_find_uninit_var
1:19 [perl #128255] Assert fail in S_sublex_done
0:26 [perl #128257] Segfault in Perl_gv_setref
0:14 [perl #128258] Segfault due to stack overflow
3:16 fix build warnings and smoke failures
8:46 process p5p mailbox

20:36 Total (HH::MM)

As of 2016/07/31: since the beginning of the grant:

146.0 weeks
1988.7 total hours
13.6 average hours per week

There are 411 hours left on the grant (it having just been extended by 400 hours).

I am pleased to report that Dave Mitchell's recent request to extend his Maintaining the Perl 5 Core grant has been successful. The award of $20,000 will allow him to spend another 400 hours on this project.

Thanks to everyone who provided feedback on this application and to all those who continue to provide financial support to the Perl 5 Core Maintenance Fund. If you are interested in funding this work please contact karen [at] perlfoundation.org.

Will reports on the completion of Chapter 2 of Learning RPerl:

"Initial work on chapter 2 of Learning RPerl is finally finished! Hopefully chapters 3 and 4 will not take quite so long to complete. :-)

All of the following sections have now been published:

MAJ

Chad has been working slowly on his grant given some personal issues. Nevertheless, there is some progress on Test2-Manual, namely some formatting issues. You can peek Chad work on his GitHub repository, https://github.com/Test-More/Test2-Manual. Be sure to look both to the master and gh-pages branches, as neither gives a complete view of Chad plans in isolation.

Tony Cook writes:

Approximately 23 tickets were reviewed, and 5 patches were applied

HoursActivity
0.86#127333 review, try to apply
#127333 testing and apply to blead
5.55#127380 (sec) comment
#127380 (sec) testing aginst blead, pod fixes
#127380 (sec) finalize pod fixes, testing and testing of
backports, push to blead, maint-5.24 and maint-5.22, perldelta
#127380 comment (now public)

Dave Mitchell writes:

I didn't really do much that stands this month; I just reduced the backlog in my p5p mailbox a bit, and worked on several miscellaneous tickets.

The most noteworthy bugfix related to $@ getting overwritten while exiting an eval scope. Earlier work by Zefram had ensured that $@ is assigned to in a late stage of scope unwinding, but it turns out that in void context or after a die, the temps stack was still being freed after $@ had been assigned to, which could result in destructors being called that could overwrite $@. (My work last year on the context stack meant that this had already been fixed for scalar and list context evals). For example:

sub DESTROY { $@ = "spurious\n" }
eval  { die ((bless []) ?  "foo" : "bar") };
print $@; # prints "spurious" rather than "foo"

I did some refactoring of the eval code and then provided a fix, but this broke a Variable::Magic test and has been temporarily reverted.

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 August 2016 listed from newest to oldest.

July 2016 is the previous archive.

September 2016 is the next 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