In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/ee16020279bc895096981c490d3477b7a8deebae?hp=53597948a6d0cb346f2b9bcc354471f29df31309>
- Log ----------------------------------------------------------------- commit ee16020279bc895096981c490d3477b7a8deebae Author: David Mitchell <da...@iabyn.com> Date: Mon Nov 14 12:44:12 2016 +0000 Remove "Warning: perl appears in your path" This install warning is more or less obsolete, since most platforms already *will* have a /usr/bin/perl or similar provided by the OS. We agreed to remove it in this thread: http://nntp.perl.org/group/perl.perl5.porters/240000 M installperl commit d670485e5a9e3fc2849b7d219329f256dc759421 Author: David Mitchell <da...@iabyn.com> Date: Mon Nov 14 10:49:25 2016 +0000 /t/perf/benchmarks: move expr::index:: to func:: 'index' is a perl function, so it should really be in the 'func' top-level namespace of benchmarks M t/perf/benchmarks ----------------------------------------------------------------------- Summary of changes: installperl | 43 ------------ t/perf/benchmarks | 191 +++++++++++++++++++++++++++--------------------------- 2 files changed, 96 insertions(+), 138 deletions(-) diff --git a/installperl b/installperl index f4d850b..af61203 100755 --- a/installperl +++ b/installperl @@ -541,49 +541,6 @@ if (!$opts{nopods} && (!$versiononly || ($installprivlib =~ m/\Q$vershort/))) { } -# Check to make sure there aren't other perls around in installer's -# path. This is probably UNIX-specific. Check all absolute directories -# in the path except for where public executables are supposed to live. -# Also skip $mainperl if the user opted to have it be a link to the -# installed perl. - -if (!$versiononly && !$opts{'skip-otherperls'}) { - my ($path, @path); - my $dirsep = ($Is_OS2 || $Is_W32 || $Is_NetWare) ? ';' : ':' ; - ($path = $ENV{"PATH"}) =~ s:\\:/:g ; - @path = split(/$dirsep/, $path); - if ($Is_VMS) { - my $i = 0; - while (exists $ENV{'DCL$PATH' . $i}) { - my $dir = unixpath($ENV{'DCL$PATH' . $i}); $dir =~ s-/$--; - push(@path,$dir); - } - } - my @otherperls; - my %otherperls; - for (@path) { - next unless m,^/,; - # Use &samepath here because some systems have other dirs linked - # to $mainperldir (like SunOS) - next unless -d; - next if samepath($_, $binexp); - next if samepath($_, cwd()); - next if ($mainperl_is_instperl && samepath($_, $mainperldir)); - my $otherperl = "$_/$perl$exe_ext"; - next if $otherperls{$otherperl}++; - push(@otherperls, $otherperl) - if (-x $otherperl && ! -d $otherperl); - } - if (@otherperls) { - warn "\nWarning: $perl appears in your path in the following " . - "locations beyond where\nwe just installed it:\n"; - for (@otherperls) { - warn " ", $_, "\n"; - } - warn "\n"; - } - -} $packlist->write() unless $opts{notify}; print " Installation complete\n" if $opts{verbose}; diff --git a/t/perf/benchmarks b/t/perf/benchmarks index a06921a..5726c98 100644 --- a/t/perf/benchmarks +++ b/t/perf/benchmarks @@ -303,101 +303,6 @@ }, - # using a const string as second arg to index triggers using FBM. - # the FBM matcher special-cases 1,2-byte strings. - # - 'expr::index::short_const1' => { - desc => 'index of a short string against a 1 char const substr', - setup => 'my $x = "aaaab"', - code => 'index $x, "b"', - }, - 'expr::index::long_const1' => { - desc => 'index of a long string against a 1 char const substr', - setup => 'my $x = "a" x 1000 . "b"', - code => 'index $x, "b"', - }, - 'expr::index::short_const2aabc_bc' => { - desc => 'index of a short string against a 2 char const substr', - setup => 'my $x = "aaaabc"', - code => 'index $x, "bc"', - }, - 'expr::index::long_const2aabc_bc' => { - desc => 'index of a long string against a 2 char const substr', - setup => 'my $x = "a" x 1000 . "bc"', - code => 'index $x, "bc"', - }, - 'expr::index::long_const2aa_ab' => { - desc => 'index of a long string aaa.. against const substr "ab"', - setup => 'my $x = "a" x 1000', - code => 'index $x, "ab"', - }, - 'expr::index::long_const2bb_ab' => { - desc => 'index of a long string bbb.. against const substr "ab"', - setup => 'my $x = "b" x 1000', - code => 'index $x, "ab"', - }, - 'expr::index::long_const2aa_bb' => { - desc => 'index of a long string aaa.. against const substr "bb"', - setup => 'my $x = "a" x 1000', - code => 'index $x, "bb"', - }, - # this one is designed to be pathological - 'expr::index::long_const2ab_aa' => { - desc => 'index of a long string abab.. against const substr "aa"', - setup => 'my $x = "ab" x 500', - code => 'index $x, "aa"', - }, - # near misses with gaps, 1st letter - 'expr::index::long_const2aaxx_xy' => { - desc => 'index of a long string with "xx"s against const substr "xy"', - setup => 'my $x = "aaaaaaaaxx" x 100', - code => 'index $x, "xy"', - }, - # near misses with gaps, 2nd letter - 'expr::index::long_const2aayy_xy' => { - desc => 'index of a long string with "yy"s against const substr "xy"', - setup => 'my $x = "aaaaaaaayy" x 100', - code => 'index $x, "xy"', - }, - # near misses with gaps, duplicate letter - 'expr::index::long_const2aaxy_xx' => { - desc => 'index of a long string with "xy"s against const substr "xx"', - setup => 'my $x = "aaaaaaaaxy" x 100', - code => 'index $x, "xx"', - }, - # alternating near misses with gaps - 'expr::index::long_const2aaxxaayy_xy' => { - desc => 'index of a long string with "xx/yy"s against const substr "xy"', - setup => 'my $x = "aaaaaaaaxxbbbbbbbbyy" x 50', - code => 'index $x, "xy"', - }, - 'expr::index::short_const3aabcd_bcd' => { - desc => 'index of a short string against a 3 char const substr', - setup => 'my $x = "aaaabcd"', - code => 'index $x, "bcd"', - }, - 'expr::index::long_const3aabcd_bcd' => { - desc => 'index of a long string against a 3 char const substr', - setup => 'my $x = "a" x 1000 . "bcd"', - code => 'index $x, "bcd"', - }, - 'expr::index::long_const3ab_abc' => { - desc => 'index of a long string of "ab"s against a 3 char const substr "abc"', - setup => 'my $x = "ab" x 500', - code => 'index $x, "abc"', - }, - 'expr::index::long_const3bc_abc' => { - desc => 'index of a long string of "bc"s against a 3 char const substr "abc"', - setup => 'my $x = "bc" x 500', - code => 'index $x, "abc"', - }, - 'expr::index::utf8_position_1' => { - desc => 'index of a utf8 string, matching at position 1', - setup => 'my $x = "abc". chr(0x100); chop $x', - code => 'index $x, "b"', - }, - - # list assign, OP_AASSIGN @@ -985,6 +890,102 @@ + # using a const string as second arg to index triggers using FBM. + # the FBM matcher special-cases 1,2-byte strings. + # + 'func::index::short_const1' => { + desc => 'index of a short string against a 1 char const substr', + setup => 'my $x = "aaaab"', + code => 'index $x, "b"', + }, + 'func::index::long_const1' => { + desc => 'index of a long string against a 1 char const substr', + setup => 'my $x = "a" x 1000 . "b"', + code => 'index $x, "b"', + }, + 'func::index::short_const2aabc_bc' => { + desc => 'index of a short string against a 2 char const substr', + setup => 'my $x = "aaaabc"', + code => 'index $x, "bc"', + }, + 'func::index::long_const2aabc_bc' => { + desc => 'index of a long string against a 2 char const substr', + setup => 'my $x = "a" x 1000 . "bc"', + code => 'index $x, "bc"', + }, + 'func::index::long_const2aa_ab' => { + desc => 'index of a long string aaa.. against const substr "ab"', + setup => 'my $x = "a" x 1000', + code => 'index $x, "ab"', + }, + 'func::index::long_const2bb_ab' => { + desc => 'index of a long string bbb.. against const substr "ab"', + setup => 'my $x = "b" x 1000', + code => 'index $x, "ab"', + }, + 'func::index::long_const2aa_bb' => { + desc => 'index of a long string aaa.. against const substr "bb"', + setup => 'my $x = "a" x 1000', + code => 'index $x, "bb"', + }, + # this one is designed to be pathological + 'func::index::long_const2ab_aa' => { + desc => 'index of a long string abab.. against const substr "aa"', + setup => 'my $x = "ab" x 500', + code => 'index $x, "aa"', + }, + # near misses with gaps, 1st letter + 'func::index::long_const2aaxx_xy' => { + desc => 'index of a long string with "xx"s against const substr "xy"', + setup => 'my $x = "aaaaaaaaxx" x 100', + code => 'index $x, "xy"', + }, + # near misses with gaps, 2nd letter + 'func::index::long_const2aayy_xy' => { + desc => 'index of a long string with "yy"s against const substr "xy"', + setup => 'my $x = "aaaaaaaayy" x 100', + code => 'index $x, "xy"', + }, + # near misses with gaps, duplicate letter + 'func::index::long_const2aaxy_xx' => { + desc => 'index of a long string with "xy"s against const substr "xx"', + setup => 'my $x = "aaaaaaaaxy" x 100', + code => 'index $x, "xx"', + }, + # alternating near misses with gaps + 'func::index::long_const2aaxxaayy_xy' => { + desc => 'index of a long string with "xx/yy"s against const substr "xy"', + setup => 'my $x = "aaaaaaaaxxbbbbbbbbyy" x 50', + code => 'index $x, "xy"', + }, + 'func::index::short_const3aabcd_bcd' => { + desc => 'index of a short string against a 3 char const substr', + setup => 'my $x = "aaaabcd"', + code => 'index $x, "bcd"', + }, + 'func::index::long_const3aabcd_bcd' => { + desc => 'index of a long string against a 3 char const substr', + setup => 'my $x = "a" x 1000 . "bcd"', + code => 'index $x, "bcd"', + }, + 'func::index::long_const3ab_abc' => { + desc => 'index of a long string of "ab"s against a 3 char const substr "abc"', + setup => 'my $x = "ab" x 500', + code => 'index $x, "abc"', + }, + 'func::index::long_const3bc_abc' => { + desc => 'index of a long string of "bc"s against a 3 char const substr "abc"', + setup => 'my $x = "bc" x 500', + code => 'index $x, "abc"', + }, + 'func::index::utf8_position_1' => { + desc => 'index of a utf8 string, matching at position 1', + setup => 'my $x = "abc". chr(0x100); chop $x', + code => 'index $x, "b"', + }, + + + 'func::sort::num' => { desc => 'plain numeric sort', setup => 'my (@a, @b); @a = reverse 1..10;', -- Perl5 Master Repository