Cython
Подробнее
- Тип
- Компилятор / расширение языка
- Год
- 2007
- Создатели
- Роберт Брэдшоу, Стефан Бенель и другие
- Лицензия
- Apache 2.0
- Предшественник
- Pyrex
Пишете почти обычный Python, добавляете объявления типов в пяти строках, где узкое место, и компилируете всё в C.
Всё началось в 2007 году с форка Pyrex Грега Юинга, под нужды математической системы Sage. Исходник транслируется в C и собирается в обычный модуль расширения Python, так что остальная программа ничего не замечает. Цикл с cdef int i обходит весь объектный слой и нередко работает в сто раз быстрее.
Второе применение не менее важно: Cython — удобный способ обернуть готовые библиотеки на C и C++ без ручного клея на CPython API. NumPy, pandas, scikit-learn и spaCy используют Cython в самых горячих участках. Блок nogil дополнительно снимает GIL, позволяя потокам по-настоящему работать параллельно.