поток или этот поток все равно пытается переключиться?
гилу так то похуй че там переключается, это ж уже проблемы ОС
Не, я про то, что поток периодически прерывается и отпускает гил, чтобы его мог другой взять (если там он есть)
поток не прерывается, он просто отпускает лок когда он ему не нужен, и забирает лок когда нужен
Если ты используешь asyncio то все это переключение тасков происходит внутри евентлупа какраз
Если я запущу в двух тредах код, который не отпускает гил, все равно оба потока будут выполняться же. Я точно не помню, но была какая-то штука, типа sys.switch_interval и вроде она отвечала за это время, которое поток может держать гил.
Отлично, а с потоками это как поможет
Асинкио используй, зачем тебе потоки? Асинкио это можно и молодёжно.
ну если два потока одновременно попытаются захватить гил, то тот кому не достался будет ждать
Нагрузка больше чем два чих пыха такая: "ну да ну да..."
До какого момента он будет ждать? Пока поток не отпустит?
Не хайлоад пишу, хуле.
А когда он отпустит, если нет ио или каких-то сишных функций с явным освобождением лока, допустим
Зато циферки клёвые, мощности питона🤌
Ну дак 100к рпс uvloop выдаёт. Какие ещё метрики нужны?
ща может дичь скажу, но там вроде таймауты даж были
Померить на 32 ядрах этот бенч на го и на увлупе с аиохттп)
uvicorn который?)
Нахуя тебе эти метрики, если ты не хайлоад пишешь?
ну вот ты упомянул штуку которая раз в N байткодов приотпускает гил
Вот именно мне они ненужны. Поэтому ненадо говорить что ненадо писать реверс прокси на питоне. Под свои задачи он очень даже хорошо подходит.
sys.setswitchinterval а вот эта хуйня про что была?
Тебе уже давно сказали, что лучше или хотя бы также как nginx ты не сделаешь Побаловаться - балуйся на здоровье А если чёт осмысленное делать, то ну бред это полный
ну вот это вроде оно и есть. Там типа что раньше наступит, N байткодов или M миллисекунд
Это как писать свой ресурс авторизации
да, смотрю там рил нет гарантий по времени
Вот я это и имею в виду. И пока вопрос писал, сам ответ на него придумал: один поток будет отпускать и тут же эквайрить лок, так что по сути пофиг.
Потому что какой нибудь сишный вызов остановить на полпути не получится, может случиться кракен, а в большинстве случаев то плюс минус так и будет
https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474 Фсе, питон скоро по мощщам будет как голанг. На нём будут писать реверс прокси, и драйвера ОС.
Это и сейчас никто не запрещает делать, и одного только отсутствия GIL недостаточно, чтобы это имело смысл
Обсуждают сегодня