Size: a a a

Python — вакансии и аналитика

2020 February 17

ON

Oleg N in Python — вакансии и аналитика
Yaroslav M
а в каких случаях он может не давать никакого прироста?
вот сервис: чтение из rabbitmq, походы в postgres, redis
ответочка опять в rabbitmq direct-reply-to
Реббит и посгрес могут как раз и тормозить
источник

ON

Oleg N in Python — вакансии и аналитика
Oleg N
Реббит и посгрес могут как раз и тормозить
Можно их замокать и посмотреть на сколь вырастет производительность
источник

YM

Yaroslav M in Python — вакансии и аналитика
хотя.. до 10 мс каждый поход в постгрес, замерял
в 4 потока в postgres ходил
ну да, цифры сходятся
алхимия сука тормозная
источник

Pavel Павлик in Python — вакансии и аналитика
Yaroslav M
хотя.. до 10 мс каждый поход в постгрес, замерял
в 4 потока в postgres ходил
ну да, цифры сходятся
алхимия сука тормозная
Алхимия с асинком?
источник

YM

Yaroslav M in Python — вакансии и аналитика
Pavel Павлик
Алхимия с асинком?
да
источник

YM

Yaroslav M in Python — вакансии и аналитика
спойлер: в природе такого не увидишь
источник

ON

Oleg N in Python — вакансии и аналитика
Pavel Павлик
Алхимия с асинком?
Вот что асинко хайп вытворяет...
источник

YM

Yaroslav M in Python — вакансии и аналитика
ну а че с ним делать, если дохрена кода уже написано было на алхимии
крутись как хочешь
источник

Pavel Павлик in Python — вакансии и аналитика
Yaroslav M
ну а че с ним делать, если дохрена кода уже написано было на алхимии
крутись как хочешь
Использовать треды
источник

YM

Yaroslav M in Python — вакансии и аналитика
Pavel Павлик
Использовать треды
ну да, конечно
источник

ON

Oleg N in Python — вакансии и аналитика
Yaroslav M
ну а че с ним делать, если дохрена кода уже написано было на алхимии
крутись как хочешь
Классическая алхимия синхронна, её надо по тредам и процессам распихивать, а критические куски без алхимии
источник

YM

Yaroslav M in Python — вакансии и аналитика
Oleg N
Классическая алхимия синхронна, её надо по тредам и процессам распихивать, а критические куски без алхимии
по тредам нафиг - на переключении контекста (питоновского там где GIL) больше теряешь
по процессам норм, но есть нюанс
источник

Pavel Павлик in Python — вакансии и аналитика
Yaroslav M
по тредам нафиг - на переключении контекста (питоновского там где GIL) больше теряешь
по процессам норм, но есть нюанс
Больше, чем что?
источник

YM

Yaroslav M in Python — вакансии и аналитика
Pavel Павлик
Больше, чем что?
больше чем io
источник

Pavel Павлик in Python — вакансии и аналитика
Yaroslav M
по тредам нафиг - на переключении контекста (питоновского там где GIL) больше теряешь
по процессам норм, но есть нюанс
Асинхронная алхимия работает через .run_in_executor()
источник

YM

Yaroslav M in Python — вакансии и аналитика
Pavel Павлик
Асинхронная алхимия работает через .run_in_executor()
и про main thread не забывать, в котором ioloop
источник

Pavel Павлик in Python — вакансии и аналитика
Yaroslav M
больше чем io
Какой io?
источник

YM

Yaroslav M in Python — вакансии и аналитика
Pavel Павлик
Какой io?
dbapi
источник

ON

Oleg N in Python — вакансии и аналитика
Yaroslav M
по тредам нафиг - на переключении контекста (питоновского там где GIL) больше теряешь
по процессам норм, но есть нюанс
Треды можно добавлять пока питон не упрется* в ядро, когда речь про алхимию про переключение контекста можно забыть, оно относительно не существенно
источник

YM

Yaroslav M in Python — вакансии и аналитика
Oleg N
Треды можно добавлять пока питон не упрется* в ядро, когда речь про алхимию про переключение контекста можно забыть, оно относительно не существенно
ну main поток с ioloop проседает на GIL, правильно?
источник