Cython- это оптимизирующий статический компилятор как для языка программирования Python, так и для расширенного языка программирования Cython (на основе Pyrex). Это делает написание расширений C для Python таким же простым, как и сам Python.

Cython объединяет возможности Python и C, позволяя

  • писать код Python, который в любой момент выполнять обратный вызов из и в код C или C ++.
  • легко настроить читаемый код Python на простую производительность C, добавив объявления статических типов, также в синтаксисе Python.
  • использовать комбинированную отладку на уровне исходного кода, чтобы найти ошибки в коде Python, Cython и C.
  • эффективно взаимодействовать с большими наборами данных, например с использованием многомерных массивов NumPy.
  • быстро создавать свои приложения в большой, зрелой и широко используемой экосистеме CPython.
  • встроенная интеграция с существующим кодом и данными из устаревших, низкоуровневых или высокопроизводительных библиотек и приложений.

Язык Cython - это надмножество языка Python, которое дополнительно поддерживает вызов функций C и объявление типов C для переменных и атрибутов классов. Это позволяет компилятору генерировать очень эффективный код C из кода Cython. Код C генерируется один раз, а затем компилируется со всеми основными компиляторами C / C ++ в CPython 2.6, 2.7 (2.4+ с Cython 0.20.x), а также в 3.3 и всех более поздних версиях. Мы регулярно запускаем интеграционные тесты для всех поддерживаемых версий CPython и их последних веток, находящихся в разработке, чтобы убедиться, что сгенерированный код остается широко совместимым и хорошо адаптированным для каждой версии. Поддержка PyPy находится в стадии разработки (с обеих сторон) и считается наиболее полезной, начиная с Cython 0.17. Здесь всегда рекомендуется последняя версия PyPy.

Все это делает Cython идеальным языком для упаковки внешних библиотек C, встраивания CPython в существующие приложения и для быстрых модулей C, которые ускоряют выполнение кода Python.

Документация

Внешние ресурсы:

Использование 

Todo

 

 

Добавить комментарий