Size: a a a

2020 March 18

AE

Alexandr Evstigneev in Modern::Perl
Sergey Lobanov
@hurricup в плагине рефакторинга по замене сигилов нет? с массива/хэша на скаляр и обратно
нет. а какой юзкейс?
источник

SL

Sergey Lobanov in Modern::Perl
Ну менять массив на ссылку, например и обратно
источник

AK

Andrey Konovalov in Modern::Perl
$ perl -E 'use Time::HiRes qw(time); use AnyEvent; my $s=time; my $t=AE::now; say time - $s'
0.0312619209289551
Коллеги, а почему функции AnyEvent такие, гм, тормозные?
Ещё больший треш - это, например, ncpu из поставки AnyEvent::Fork::Pool
источник

AK

Andrey Konovalov in Modern::Perl
Если выполнить 2 раза - результат не меняется к лучшему, т.е. первый раз такое время не из-за инициализаций каких-либо
источник

DF

Denis F in Modern::Perl
ты в это где-то уперся или чисто для интереса меряешь?
источник

VG

Vadim Goncharov in Modern::Perl
шо-то у тебя странное
источник

AP

Anton Petrusevich in Modern::Perl
$  perl -E 'use Time::HiRes qw(time); use AnyEvent; my $s=time; my $t=AE::now; say time - $s'
0.00371289253234863
источник

S

Sasha Murzin in Modern::Perl
0.00274395942687988
источник

DF

Denis F in Modern::Perl
perl -E 'use Time::HiRes qw(time); use AnyEvent; my $s=time; my $t=AE::now; say time - $s'
0.0128269195556641
источник

DF

Denis F in Modern::Perl
правда проц у меня выглядит так:
источник

a

allter in Modern::Perl
perl -E 'use Time::HiRes qw(time); use AnyEvent; AE::now; my $s=time; my $t=AE::now; say time - $s'
9.5367431640625e-07
источник

VG

Vadim Goncharov in Modern::Perl
вот да
источник

VG

Vadim Goncharov in Modern::Perl
у меня ща на винде ваще 0.042 выдало, но после повторного уже 1.9073486328125e-006
источник

AK

Andrey Konovalov in Modern::Perl
Denis F
perl -E 'use Time::HiRes qw(time); use AnyEvent; my $s=time; my $t=AE::now; say time - $s'
0.0128269195556641
Тут ещё важно, сколько при тех же условиях занимает вызов time из самого Time::HiRes
источник

AK

Andrey Konovalov in Modern::Perl
У меня вызов time по сравнению с AE::now отнимает просто нисколько
источник

VG

Vadim Goncharov in Modern::Perl
если что, AE::now затем и кэширует
источник

VT

Vasily Terkin in Modern::Perl
Andrey Konovalov
У меня вызов time по сравнению с AE::now отнимает просто нисколько
сравнил XS с нативным перлом
источник

AK

Andrey Konovalov in Modern::Perl
Ещё не пойму, почему такой прикол:
Если сделать так
perl -E 'use AnyEvent; my @aeh; my $c=0; my $cv; $cv=AE::cv, push(@aeh, AE::timer 0, 0.2, sub { say ++$c; $cv->send }), $cv->recv() for 1,2; '

- будет выведено 1 и 2
но если сделать так:
perl -E 'use AnyEvent; my @aeh; my $cv=AE::cv; push(@aeh, AE::timer 0, 0.2, $cv), $cv->recv() for 1,2; '

- будет только 1
Давно заметил, что для каждого запуска цикла событий нужно  создавать новый AE::cv. Но не понимаю, какая в этом практическая необходимость, почему нельзя переиспользовать один и тот же
источник

AK

Andrey Konovalov in Modern::Perl
Ну т.е. ясно, что внутри cv - hashref, но что мешало его сбрасывать в recv() ? Хотя бы при передаче параметра какого-то в recv
источник

VT

Vasily Terkin in Modern::Perl
ну вот так он работает
источник