Just ran some basic benchmark with/without the patch on top of blead=dc41635313 using Porting/bench.pl tool and the following command:
./perl -Ilib Porting/bench.pl --benchfile=../benchmark-tests ../perl2/perl=blead ./perl=blead+patch
Of course, the result highly depends on the test used, I try to provide some basic scenarii with short and long module names existing or not.
Feel free to comment on it
On Tue, 26 Sep 2017 16:16:26 -0700, atoomic@cpan.org wrote:
Show quoted text

> This is a bug report for perl from atoomic@cpan.org,
> generated with the help of perlbug 1.40 running under perl 5.27.5.
>
>
> -----------------------------------------------------------------
>
> notice that doing an extra INC check before calling require can
> improve the
> performance if the module is already loaded
>
> The idea of this commit is to check INC earlier if possible, by
> avoiding
> the IS_SAFE_PATHNAME check in S_require_file called by pp_require.
>
> Would add some benchmark in a future message to show the improvements.
>

> Just ran some basic benchmark with/without the patch on top of
> blead=dc41635313 using Porting/bench.pl tool and the following
> command:
>
> ./perl -Ilib Porting/bench.pl --benchfile=../benchmark-tests
> ../perl2/perl=blead ./perl=blead+patch
>
> Of course, the result highly depends on the test used, I try to
> provide some basic scenarii with short and long module names existing
> or not.
>
> Feel free to comment on it

Hi, Tony, indeed you are right, sorry came from a last-minute refactoring, I should have noticed it.
That 'svp_cached' variable is not doing the cache it claims to do...
Here is the updated patch. Just confirm that the test suite passes on my box.
I've also updated the benchmark results, using the same tests from benchmark-tests.
nicolas
On Tue, 26 Sep 2017 18:18:35 -0700, tonyc wrote:
Show quoted text

> On Tue, 26 Sep 2017 16:21:01 -0700, atoomic wrote:

> > Just ran some basic benchmark with/without the patch on top of
> > blead=dc41635313 using Porting/bench.pl tool and the following
> > command:
> >
> > ./perl -Ilib Porting/bench.pl --benchfile=../benchmark-tests
> > ../perl2/perl=blead ./perl=blead+patch
> >
> > Of course, the result highly depends on the test used, I try to
> > provide some basic scenarii with short and long module names existing
> > or not.
> >
> > Feel free to comment on it

> Hi, Tony, indeed you are right, sorry came from a last-minute
> refactoring, I should have noticed it.
>
> That 'svp_cached' variable is not doing the cache it claims to do...
>
> Here is the updated patch. Just confirm that the test suite passes on
> my box.
>
> I've also updated the benchmark results, using the same tests from
> benchmark-tests.

Thank you for filing this report. You have helped make Perl better.
With the release yesterday of Perl 5.28.0, this and 185 other issues have been
resolved.
Perl 5.28.0 may be downloaded via:
https://metacpan.org/release/XSAWYERX/perl-5.28.0
If you find that the problem persists, feel free to reopen this ticket.