Python 3.14: subinterpreters ускорили CPU-задачу с 3,6 до 0,9 секунды
В Python 3.14 модуль concurrent.interpreters из PEP 734 даёт настоящий параллелизм: четыре субинтерпретатора выполнили CPU-задачу за 0,9 с против 3,6 с у четырёх потоков с общим GIL. Один интерпретатор принимает только один вызов одновременно — второй сразу падает с InterpreterError, а создание четырёх субинтерпретаторов (~0,077 с) вдвое дороже fork-пула.
- 4 субинтерпретатора: 0,89–0,98 с против 3,51–3,70 с у 4 потоков
- Второй одновременный вызов одного интерпретатора сразу даёт InterpreterError
- Создание 4 субинтерпретаторов — 0,076–0,078 с, fork-пула — 0,037 с
- В Python 3.14 на Linux метод запуска multiprocessing сменился с fork на forkserver
Читать дальше
Софт