#subinterpreters — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #subinterpreters, aggregated by home.social.
-
Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором
Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .
https://habr.com/ru/companies/otus/articles/938292/
#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL
-
Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором
Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .
https://habr.com/ru/companies/otus/articles/938292/
#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL
-
Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором
Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .
https://habr.com/ru/companies/otus/articles/938292/
#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL
-
Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором
Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .
https://habr.com/ru/companies/otus/articles/938292/
#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL
-
CPython — бессмертные Immortal объекты
Начиная с версии 3.12 Python поддерживает такой тип объектов, как бессмертные ( Immortal ). Бессмертными объектами являются глобальные константы, такие как None , False , True , а также некоторые другие объекты. Если вам интересно, что это за объекты, как ими становятся обычные смертные, где они используются и как повлияли на CPython — добро пожаловать.
-
PEP-734: Субинтерпретаторы в Python 3.14
Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство. Я продолжаю свой цикл статей на хабре про детали реализации питона. Сегодня поговорим про субинтерпертаторы, их устройство, прошлое и, надеюсь, светлое будущее. Под катом будет про: новые питоновские API для ускорение и паралеллизации ваших програм, про управление памятью, про дублирование данных. Ну и много C кода! Чтобы разобраться в вопросе и рассказать вам, я сделал несколько важных шагов: прочитал почти весь код данной фичи, начал коммить в субинтерпретаторы и взял интервью у автора данного проекта. Интервью доступно с русскими и английскими субтитрами. А еще я добавил кучу контекста прямо в видео. Ставьте на паузу и читайте код. Если вам такое интересно или целиком незнакомо – добро пожаловать!
-
Want to find out more about subinterpreters in Python?
PEP 734 author Eric Snow is interviewed by fellow core team member Nikita Sobolev:
https://www.youtube.com/watch?v=VBiaNNpLzWAhttps://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep734
#EricSnow #NikitaSobolev #Python #Python314 #subinterpreters #PEP734
-
Just released: Python 3.14.0 beta 3! 🚀🐍
🥧 All the good stuff of b2 but also:
🥧 Free-threaded Python is officially supported! (PEP 779)
🥧 Subinterpreters in the stdlib! (PEP 734)
Do you maintain a Python package? Please test 3.14.
If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.
https://discuss.python.org/t/python-3-14-0-beta-3-is-here/95843?u=hugovk
#Python #CPython #Python314 #release #PEP779 #PEP734 #FreeThreaded #subinterpreters
-
A special late acceptance for Python 3.14:
@ericsnowcurrently's PEP 734: Multiple Interpreters in the Stdlib 🚀
https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/36