Loading image…

Как выполнять CPU-задачи в отдельных интерпретаторах Python



В Python 3.14 InterpreterPoolExecutor запускает потоки с отдельными интерпретаторами. У каждого свой GIL, поэтому вычисления на Python могут одновременно занимать несколько ядер в одном процессе.

У этой модели есть цена: между интерпретаторами передаются сериализованные функции, аргументы и результаты. Импорты и глобальные переменные изолированы. Кеш на уровне модуля станет кешем каждого работника; большая таблица данных может занять память несколько раз.

Подход подходит для достаточно крупных вычислительных задач с простыми входами и выходами. На мелких операциях передачу данных легко сделать дороже вычислений. Перед переносом проверьте совместимость C-расширений и сравните время и память с ProcessPoolExecutor на реальной нагрузке.

#python #производительность
Views: 56
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go