Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Python в 10 потоков работает медленнее, чем в один. Виноват GIL
Запускаешь CPU-bound задачу в 10 потоков и получаешь результат медленнее, чем в один. В любой момент времени байткод исполняет только один поток: остальные стоят в очереди за GIL, а переключения между ними съедают весь выигрыш. Правило простое: для ожидания берёшь threads и async, для вычислений — multiprocessing.
Запускаешь CPU-bound задачу в 10 потоков и получаешь результат медленнее, чем в один. В любой момент времени байткод исполняет только один поток: остальные стоят в очереди за GIL, а переключения между ними съедают весь выигрыш. Правило простое: для ожидания берёшь threads и async, для вычислений — multiprocessing.