Новости Python 3.13: многопоточность без ограничений GIL теперь реальность

NewsMaker

I'm just a script
Премиум
13,850
20
8 Ноя 2022
Python рвется к новым вершинам производительности для работы с ИИ.


gh1usndhnnuf1815b0z71l8vnczuvc2e.jpg


В мире программирования наступила знаковая эпоха: в основную ветку Python был Для просмотра ссылки Войди или Зарегистрируйся код, который обещает улучшить многопоточность и параллелизм в выполнении программ.

Для просмотра ссылки Войди или Зарегистрируйся позволяет отключать Global Interpreter Lock ( GIL ) — ключевой элемент в реализации CPython, стандартной версии языка программирования Python. GIL долгое время считался препятствием на пути к эффективному многопоточному выполнению кода, так как он не позволял нескольким потокам одновременно выполнять инструкции.

Особенно остро проблема стояла в вычислительно интенсивных задачах и сфере искусственного интеллекта, где потребность в многопоточности особенно велика. Например, в DeepMind отмечали, что во многих приложениях хотелось бы использовать до 100 потоков на процесс, но из-за GIL возможности были ограничены.

Изменения, предложенные в Для просмотра ссылки Войди или Зарегистрируйся (Python Enhancement Proposal), делают GIL необязательным в CPython и были приняты руководящим советом к реализации в версии 3.13. При этом подчёркивается важность постепенного внедрения изменений с возможностью отката в случае обнаружения серьёзных проблем.

Ожидается, что отключение GIL приведёт к появлению ошибок в существующем коде. Например, уже были зафиксированы сбои при полном тестировании с отключенным GIL. Вместе с тем, ведутся работы по поддержке расширений, требующих GIL, что обещает новые возможности для разработчиков без значительной потери производительности.

Нововведение встречается с оптимизмом, ведь отключение GIL может значительно повысить эффективность работы с ИИ-моделями и улучшить многопоточное выполнение кода. Релиз Python 3.13 запланирован на 1 октября 2024 года.
 
Источник новости
www.securitylab.ru

Похожие темы