Size: a a a

2021 September 28

SZ

Sergey Zhmylove in Modern::Perl
Вот что значит не спать 24+часов
источник

SZ

Sergey Zhmylove in Modern::Perl
Всё встаёт на свои места
источник

SZ

Sergey Zhmylove in Modern::Perl
Спасибо друг, я уже начал сомневаться
источник

RH

Roman Hamster in Modern::Perl
/g
Беру словаа обратно!
источник

RH

Roman Hamster in Modern::Perl
но почему так???
источник

AG

Anatolia Gr in Modern::Perl
@PerlBanjoBot
use Benchmark "cmpthese";

$a = " " x 16 . "asd" x 128 . " " x 18;
cmpthese -2 => {
       two => sub { $_ = $a; s/\s*$//; s/^\s*// },
       one => sub { $_ = $a; s/(:?^\s*|\s*$)//g },
       two_and_while => sub { $_ = $a; 1 while s/\s$//; s/^\s*//;},
};
источник

P

PerlBanjoBot in Modern::Perl
источник

AG

Anatolia Gr in Modern::Perl
@PerlBanjoBot
use Benchmark "cmpthese";

$a = " " x 16 . "asd" x 128 . " " x 18;
cmpthese -2 => {
       two => sub { $_ = $a; s/\s*$//; s/^\s*// },
        two_and_while => sub { $_ = $a; 1 while s/\s$//; s/^\s*//;},
};
источник

P

PerlBanjoBot in Modern::Perl
Rate two_and_while           two
two_and_while 40932/s            --           -1%
two           41526/s            1%            --
https://PerlBanjo.com/0bd783f2e9
источник

МС

Мастер Спирта... in Modern::Perl
1 while s/\s$//; s/^\s*//;
по-моему только первую регулярку будет дёргать
источник

VG

Vadim Goncharov in Modern::Perl
ужыс
источник

AG

Anatolia Gr in Modern::Perl
На старом перле разница значительная:
                 Rate           two two_and_while
two            39457/s            --          -86%
two_and_while 287084/s          628%            --
источник

VG

Vadim Goncharov in Modern::Perl
он без второй регулярки же
источник

AG

Anatolia Gr in Modern::Perl
я проверил две работают
источник

RH

Roman Hamster in Modern::Perl
Обе!
источник

МС

Мастер Спирта... in Modern::Perl
тогда мне непонятно, почему так )
пойду мануал читать
источник

SZ

Sergey Zhmylove in Modern::Perl
Потому что вторая без условия, не?
источник

YK

Yegor K in Modern::Perl
@PerlBanjoBot
use Benchmark "cmpthese";
my $v = " " x 16 . "asd" x 128 . " " x 18;
cmpthese -1 => {
   two => sub { $_ = $v; s/\s*$//; s/^\s*// },
   one => sub { $_ = $v; s/(:?^\s*|\s*$)//g },
   xxx => sub { $_ = $v; s/^\s*(\S+)\s*$/$1/g },
};
источник

P

PerlBanjoBot in Modern::Perl
Rate   one   two   xxx
one  17612/s    --  -53%  -97%
two  37397/s  112%    --  -93%
xxx 543765/s 2988% 1354%    --
https://PerlBanjo.com/415bace823
источник

YK

Yegor K in Modern::Perl
@PerlBanjoBot
use Benchmark "cmpthese";
my $v = " " x 16 . "asd" x 128 . " " x 18;
cmpthese -1 => {
   two => sub { $_ = $v; s/\s*$//; s/^\s*// },
   one => sub { $_ = $v; s/(:?^\s*|\s*$)//g },
   xxx => sub { $_ = $v; s/^\s*(.+)\s*$/$1/g },
};
источник