Вышел Cython 3.0

fy5cc3ohnnaquh-8rhkf2o2nyl8.png

17 июля 2023 года спустя пять лет разработки состоялся релиз компилятора для языков Python и Cython — проекта Cython 3.0.

Компилятор транслирует код на Python в представление на языках C/C++ и предоставляет дополнительные возможности для взаимодействия кода на языках Python и C. Cython наиболее востребован для создания Python-обвязок вокруг библиотек на языке C и для создания модулей на C, ускоряющих выполнение кода на языке Python.

Исходный код компилятора Cython 3.0 выложен на GitHub и распространяется под открытой лицензией Apache 2.0.

Согласно данным портала OpenNET, язык программирования Cython является расширенным вариантом языка Python, нацеленным на упрощение интеграции с кодом на языке C и позволяющим создавать расширения на языке C для проектов на языке Python так же просто, как писать код на Python.

Cython расширяет возможности Python средствами для прямого вызова функций на языке С, поддерживает определение переменных с типами языка С и позволяет компилировать итоговый код на языке Cython в представление на языке С, которое затем собирается штатным системным компилятором. Применение расширенных возможностей языка Cython позволяет значительно повысить эффективность выдаваемого компилятором кода.

Производительность выполнения Python-кода при использовании Cython примерно на 30% выше, чем при использовании CPython при тестировании пакетом pybench.

В Cython 3.0 реализована поддержка большинства возможностей ветки Python 3.11. Также в Cython 3.0 добавлена поддержка Unicode символов в идентификаторах, обеспечена автоматическая генерация ufunc для NumPy, добавлены быстрые расширенные типы @dataclass и @total_ordering, по умолчанию обеспечена безопасная обработка исключений в функциях на C, добавлена ограниченная поддержка API CPython.

Предыдущий релиз Cython имел номер 0.29. Присвоение номера версии 3.0 подчёркивает переход Cython на использование синтаксиса и семантики Python 3 по умолчанию. В Cython 0.29 по умолчанию применялась семантика Python 2.7.

© Habrahabr.ru