Size: a a a

2020 August 27

SZ

Sergey Zhmylove in Modern::Perl
Vadim Goncharov
log something if DEBUG; где use constant DEBUG => 0 точно соптимизируется комиплятором, а-ля #ifdef в Си
Давай проверим тупо..?
источник

VG

Vadim Goncharov in Modern::Perl
Sergey Zhmylove
Давай проверим тупо..?
я проверял в депарсе, оно исчезает
источник

OP

Oleg Pronin in Modern::Perl
Sergey Zhmylove
Всё ещё не то!
Он постоянно будет проверять левел дебага. А нужно такую, которая не проверяет.
Ты это не замеряешь. Это в сях делается. Это быстрее чем $a++
источник

SZ

Sergey Zhmylove in Modern::Perl
Vadim Goncharov
я проверял в депарсе, оно исчезает
Ух ты, прикольно
источник

YK

Yegor K in Modern::Perl
Vasily Terkin
Это оптимизируется при компиляции?
да
~/dev/tmp$ debug=0 perl -MO=Concise level.pl
3  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter v ->2
2     <;> nextstate(main 187 level.pl:7) v:{ ->3
-     <0> ex-const v/SHORT,FOLD ->3
level.pl syntax OK
~/dev/tmp$ debug=1 perl -MO=Concise level.pl
6  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter v ->2
2     <;> nextstate(main 187 level.pl:7) v:{ ->3
-     <1> null vK*/1,FOLD ->6
-        <@> scope vK ->-
-           <;> ex-nextstate(main 188 level.pl:7) v ->3
5           <@> die vK/1 ->6
3              <0> pushmark s ->4
4              <$> const(PV "Unimplemented") s ->5
level.pl syntax OK
источник

VG

Vadim Goncharov in Modern::Perl
Sergey Zhmylove
Ух ты, прикольно
и мой вопрос (сколько там месяцев назад) состоял лишь в том, что писать такую конструкцию каждый раз лениво
источник

OP

Oleg Pronin in Modern::Perl
С константами не юзабельно, в рантайме не включишь
источник

VG

Vadim Goncharov in Modern::Perl
да, это еще одна причина
источник

OP

Oleg Pronin in Modern::Perl
А то что я прислал имеет скорость аналогичную выпиливанию, потому что из перла это замерять нереально
источник

OP

Oleg Pronin in Modern::Perl
Перл слишком медленный для этого
источник

OP

Oleg Pronin in Modern::Perl
Плюс там еще поддержка модулей есть чтобы отдельно включать логи с разных либ/частей аппликейшена
источник

YK

Yegor K in Modern::Perl
с рантаймом да, но мне такое редко когда нужно было;
в остальном constant + %ENV позволяют включать лог в отдельных модулях, функциях и тп не меняя код и без лишних вызовов когда лог не нужен
источник

YK

Yegor K in Modern::Perl
Oleg Pronin
Ктото хотел лог систему которая умеет делать типа
Log($message) if $DEBUG;
То есть не вычислять и не вызывать ничего если логи выключены.
Вот теперь можно

https://metacpan.org/pod/distribution/XLog/lib/XLog.pod
похоже зависимости не доехали
cpanm XS::libpanda XLog
XS::libpanda is up to date. (1.4.6)
--> Working on XLog
Fetching http://www.cpan.org/authors/id/S/SY/SYBER/XLog-1.0.0.tar.gz ... OK
==> Found dependencies: XS::libpanda
! Installing the dependencies failed: Installed version (1.4.6) of XS::libpanda is not in range 'v1.4.7'
источник

OP

Oleg Pronin in Modern::Perl
О блин да. Забыл залить. Залил. Минут чернз 10 появится
источник

OP

Oleg Pronin in Modern::Perl
Спасибо
источник

OP

Oleg Pronin in Modern::Perl
Интересно как цпантестеры прошли тесты
источник

YK

Yegor K in Modern::Perl
видимо те что прошли не читают META.json
источник

МИ

Михаил Иванов... in Modern::Perl
Oleg Pronin
О блин да. Забыл залить. Залил. Минут чернз 10 появится
Всё хотел спросить — зачем вы привязываете модули к бренду panda? Завтра поменяете контору — и будете форкать?
источник

OP

Oleg Pronin in Modern::Perl
Мы не привязываем
источник

OP

Oleg Pronin in Modern::Perl
Раньше там в неймспейсе Panda:: было а щас нет
источник