Size: a a a

2020 March 30

EM

Egor Molodik in PiterPy Meetup
Боброний
Оптимизации категории Б
И все-таки это имеет какой-то смысл или просто ради фана?
источник

Б

Боброний in PiterPy Meetup
Egor Molodik
И все-таки это имеет какой-то смысл или просто ради фана?
Мопед не мой
источник

N

Nikolay in PiterPy Meetup
Alex 🌼 Karpinsky
Нет
In [1]: a = None
In [4]: %%timeit
  ...: if a is None:
  ...:   pass
  ...:        
18.1 ns ± 0.745 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)

In [5]: %%timeit
  ...: if a:
  ...:   pass
  ...:  
14.7 ns ± 0.491 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)
сравни сгенеренный байткод лучше
источник

AK

Alex 🌼 Karpinsky in PiterPy Meetup
Maxim Vasilev
Надо сравнивать с приведением к булеану
Нет, не надо. См. комментарий
https://t.me/piterpy_meetup/62878
источник

AK

Alex 🌼 Karpinsky in PiterPy Meetup
Nikolay
сравни сгенеренный байткод лучше
И там я увижу, что все же медленнее или что?
источник

E

Eugene in PiterPy Meetup
Nikolay
да весь поэтри - детская проблема
это самое удобное на текущий момент из того, что есть для управления пакетом и зависимостями при разработке, но вот такие вещи вызывают недоумение.
источник

MV

Maxim Vasilev in PiterPy Meetup
А, ну кстати да, извиняюсь
источник

MV

Maxim Vasilev in PiterPy Meetup
Действительно не надо
источник

MV

Maxim Vasilev in PiterPy Meetup
)
источник

N

Nikolay in PiterPy Meetup
Alex 🌼 Karpinsky
И там я увижу, что все же медленнее или что?
есть шанс, что в твоем бенче интерпретатор видит дичь и сам оптимизирует сравнение
источник

AK

Alex 🌼 Karpinsky in PiterPy Meetup
Alex 🌼 Karpinsky
Нет
In [1]: a = None
In [4]: %%timeit
  ...: if a is None:
  ...:   pass
  ...:        
18.1 ns ± 0.745 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)

In [5]: %%timeit
  ...: if a:
  ...:   pass
  ...:  
14.7 ns ± 0.491 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)
Тут ошибся, if a is not None. Но время такое же
источник

N

Nikolay in PiterPy Meetup
Eugene
это самое удобное на текущий момент из того, что есть для управления пакетом и зависимостями при разработке, но вот такие вещи вызывают недоумение.
в нем есть две полезные вещи - это умение резолвить зависимости корректнее пипа и умение разделять отладочные и обычные. Часто в пользу записывают еще возможность взять только зависимости верхнего уровня - но это крайне спорно
источник

E

Eugene in PiterPy Meetup
Nikolay
в нем есть две полезные вещи - это умение резолвить зависимости корректнее пипа и умение разделять отладочные и обычные. Часто в пользу записывают еще возможность взять только зависимости верхнего уровня - но это крайне спорно
пип вообще никак не резолвит и ничего не отслеживает, в смысле граф зависимостей. Если ты поставил что-то и к нему поставилось 100500 пакетов, а потом ты хочешь это что-то удалить, у тебя не удаляться 100500 пакетов хлама. А Poetry всё почистит, потому что оперирует графом зависимостей.
источник

N

Nikolay in PiterPy Meetup
Eugene
пип вообще никак не резолвит и ничего не отслеживает, в смысле граф зависимостей. Если ты поставил что-то и к нему поставилось 100500 пакетов, а потом ты хочешь это что-то удалить, у тебя не удаляться 100500 пакетов хлама. А Poetry всё почистит, потому что оперирует графом зависимостей.
они это пытаются исправить, там есть сторонний резолвер в бета-версии
источник

N

Nikolay in PiterPy Meetup
ну и в силу того, как устроен резолвинг в принципе, поэтри таки сильно медленный
источник

N

Nikolay in PiterPy Meetup
(пока что)
источник

E

Eugene in PiterPy Meetup
Ну он гораздо быстрее чем бессмысленный pipenv без резолвинга. 😀
источник

E

Eugene in PiterPy Meetup
Ну и плюс он умеет публиковать одной командой. poetry publish, сам тебе соберет всё что надо, в том числе wheel (по умолчанию) и отгрузит куда надо. удобнее чем делать это через setup.py или twine.

Плюс управление венвами.

В общем, как комбайн для разработки он удобен.
источник

N

Nikolay in PiterPy Meetup
мне вот не очень нравится, что поэтри сам за меня генерит setup.py и из него сложно просто так взять и достать зависимости верхнего уровня
источник

MK

Maxim Koltsov in PiterPy Meetup
Nikolay
мне вот не очень нравится, что поэтри сам за меня генерит setup.py и из него сложно просто так взять и достать зависимости верхнего уровня
чего...
источник