Devel-NYTProf 6.09 released

Skip to first unread message

James Keenan

May 4, 2021, 4:30:41 PM5/4/21
to Devel::NYTProf Dev

Version 6.09 of Perl library Devel-NYTProf was released to CPAN on May 2 2021.

This release follows on the heels of two other recent releases, 6.07 (April 6) and 6.08 (April 27) -- but 6.09 is the version you should prefer.

The impetus for these new releases was a one-line change in the development branch ("blead") in the Perl 5 core distribution in October 2020. The Exporter library was modified to run with use strict;. Devel::NYTProf uses Exporter, of course. It appears that the call to use strict; alters the number of statements which NYTProf executes. This in turn means that the results of running it on a given perl program change ever so slightly -- and not really to any practical level of significance.

But what if the "given perl program" is a file in Devel-NYTProf's own test suite? Suddenly NYTProf's test suite starts to experience failures when run against versions of perl at or above 5.33.3 -- which includes production version 5.34.0 to be released (hopefully) later this month. From the point of view of the maintainers of the Perl 5 core distribution ("Perl 5 Porters"), this becomes a "Blead Breaks CPAN" (BBC) blocker to that production release. This problem was subsequently reported to Devel-NYTProf's bug queue as

One role that I play for Perl 5 Porters is to keep track of the status of BBC tickets, so I became interested in seeing whether NYTProf could be repaired. Those repairs were reflected in the 6.07 release where, to over-simplify, one file in the test suite was cloned and the data used in the clone was then modified to reflect the expectation of those use strict; calls within Exporter. Once the test suite was PASSing on a combination of Linux (Travis configurations and my own machines), Windows (an AppVeyor configuration), FreeBSD and OpenBSD, I got the okay from Tim Bunce to become a Devel-NYTProf maintainer and do the release to CPAN.

The subsequent 6.08 release attempted to increase the coverage which NYTProf's test suite provides to the codebase in lib/. Those increases were achieved, but there were quite a few FAILs among CPANtesters reports. Most of those failures came from testing rigs where perl was compiled with -Duselongdouble or where certain features of zlib were not found.

The most recent release, 6.09, works around those problems, but (as Tim Bunce has acknowledged) NYTProf's test suite is hypersensitive to changes in perl as well as variations in the vast number of perl configurations out there in the wild. Changes in the environment in which NYTProf runs tend to produce false negatives in its test suite in abundance.

Going forward, we'll have to figure out a way to reduce this testing hypersensitivity, but we should do that in the context of figuring out how to maintain and improve Devel-NYTProf over the long run. We can use this mailing list as a venue to discuss those developments.

Thank you very much.
Jim Keenan

Reply all
Reply to author
0 new messages