Size: a a a

2021 October 10

A

Alexander in Modern::Perl
народ, у кого под рукой перл != 5.30, покажите плз что выводит
perl -w -Mstrict -le 'my $row = "FEdfs,.!##$%sgd3424fg!!q"; $row =~ s/[^a-z0-9\.\,]//gi; print $row'
источник

IB

Ivan Bessarabov in Modern::Perl
@PerlBanjoBot $ perl -w -Mstrict -le 'my $row = "FEdfs,.!##$%sgd3424fg!!q"; $row =~ s/[^a-z0-9\.\,]//gi; print $row'
источник

P

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

IB

Ivan Bessarabov in Modern::Perl
@PerlBanjoBot $ perl -v|head -2
источник

P

PerlBanjoBot in Modern::Perl
This is perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux
https://PerlBanjo.com/1c2f44e1f8
источник

A

Alexander in Modern::Perl
откуда 0 посередине?
источник

A

Alexander in Modern::Perl
там нет цифр
источник

IB

Ivan Bessarabov in Modern::Perl
$%
источник

A

Alexander in Modern::Perl
ох
источник

A

Alexander in Modern::Perl
спасибо
источник

A

Alexander in Modern::Perl
я подумал уже, что у меня крышак едет)) но там да, двойные кавычки же
источник

SZ

Sergey Zhmylove in Modern::Perl
В общем, локальный bytes всех порвал, не удивительно, xsub всё же медленные...
# perl -MBenchmark=/./ -Iblib/arch -Iblib/lib -Ilib -MScalar::Length -Mstrict -Mwarnings -Mutf8 -CSD -le 'my ($in, $out) = q(привет); cmpthese -1 => { xs => sub { $out = Scalar::Length::sv_length($in) }, bytes => sub { {use bytes; $out = length $in } }, utf8 => sub { $out = utf8::upgrade($in) }, encode => sub { use Encode q(encode); $out = length(encode(q(UTF-8), $in)) } }'
            Rate encode     xs   utf8  bytes
encode   447829/s     --   -97%   -98%   -99%
xs     15887515/s  3448%     --   -22%   -64%
utf8   20310255/s  4435%    28%     --   -54%
bytes  44040191/s  9734%   177%   117%     --
источник

YM

Yuri Myasoedov in Modern::Perl
фух. можно спать спокойно
источник

VG

Vadim Goncharov in Modern::Perl
эсвэрефдваобджект не включил
источник

SZ

Sergey Zhmylove in Modern::Perl
Точно! Ща
источник

SZ

Sergey Zhmylove in Modern::Perl
(моя проблема, что прям ща я использую мой дебаговый перл, ещё и под wsl*, и оно всё работает как windows vista на пентиуме первом
источник

SZ

Sergey Zhmylove in Modern::Perl
Хмм, наверное у меня просто бенчмарк кривой :(
источник

SZ

Sergey Zhmylove in Modern::Perl
# perl -MBenchmark=/./ -Iblib/arch -Iblib/lib -Ilib -MB=svref_2object -MScalar::Length -Mstrict -Mwarnings -Mutf8 -CSD -le 'my ($in, $out) = q(привет); cmpthese -2 => { xs => s
ub { $out = Scalar::Length::sv_length($in) }, bytes => sub { {use bytes; $out = length $in } }, utf8 => sub { $out = utf8::upgrade($in) }, encode => sub { use Encode q(encode); $out = length(encode(q(UTF-8), $in
)) }, svref => sub { $out = svref_2object(\$in)->CUR }, }'
            Rate encode  svref  bytes     xs   utf8
encode   470013/s     --   -87%   -96%   -98%   -98%
svref   3485239/s   642%     --   -67%   -82%   -82%
bytes  10505116/s  2135%   201%     --   -46%   -47%
xs     19435213/s  4035%   458%    85%     --    -2%
utf8   19881662/s  4130%   470%    89%     2%     --
источник

SZ

Sergey Zhmylove in Modern::Perl
(увеличил до 2 секунд время теста, а вот то же самое на 3х секундах не отработало и за 20 мин)
источник

VG

Vadim Goncharov in Modern::Perl
чудеса какие-то
источник