Cython

Cython
Cython
Автор(ы):

Robert Bradshaw, Stefan Behnel и др.

Релиз:

0.17.1 (26 сентября 2012 года)

Испытал влияние:

Pyrex

Лицензия

Apache License

Сайт:

http://cython.org

Cython — язык программирования, упрощающий написание модулей С/С++ кода для Python. Кроме стандартного синтаксиса Python поддерживается:

  • Прямой вызов функций и методов С/С++ из кода на Cython
  • Строгая типизация переменных, классов, атрибутов классов

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

Содержание

История

Cython является наследником языка программирования Pyrex (англ.), но в отличие от него имеет больше возможностей и оптимизаций.[1]

Преимущества

Cython имеет очень близкий синтаксис к Python.

Особое преимущество такого «бесшовного» подхода в смешивании Python/C состоит в том, что существующий Python код может быть настроен на работу почти со скоростью С простым добавлением нескольких статических объявлений типов и некоторыми адаптациями в критических циклах — без необходимости в сложном коде интерфейса. Скорость кодирования и читабельность кода остаются сравнимы с питоновскими.

В связи с пониженными накладными расходами в управляющих структурах (особенно в циклах), оптимистической оптимизацией и (ограниченным) выводом типов, скомпилированный Cython код Python обычно выполняется быстрее, чем в CPython 2.6.x, хотя абсолютное улучшение в значительной степени зависит от кода. С объявлениями типов типичные ускорения для численных вычислений/массивов составляет около 100—1000 раз.[2] Для сравнения, типичное увеличение скорости при использовании Psyco (JIT-компилятор для Python) составляет около 4—100 раз.[3]

Cython был оптимизирован для низких накладных расходов на вызов подпрограмм, и таким образом вызов из Python внешнего C/C++ кода через оболочку Cython, как правило, быстрее, чем в большинстве других решений.[4][5]

См. также

Примечания

Ссылки

Источники

  • Stefan Behnel, Robert Bradshaw, Craig Citro, Lisandro Dalcin, Dag Sverre Seljebotn, Kurt Smith Cython: The Best of Both Worlds // Computing in Science and Engineering. — 2011. — № 13.2. — P. 31-39. — DOI:10.1109/MCSE.2010.118



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Cython" в других словарях:

  • Cython — Paradigmen: multiparadigmatisch Erscheinungsjahr: 2007 Entwickler: Robert Bradshaw, Stefan Behnel, et al. Aktuelle Version: 0.15.1  (19. September 2011) …   Deutsch Wikipedia

  • Cython — est un langage de programmation qui simplifie l écriture d extension en langage C pour Python. La syntaxe du langage est très similaire à Python mais il supporte l appel à des fonctions en C et la déclaration d attributs de classes de type C. Il… …   Wikipédia en Français

  • Cython — Not to be confused with CPython. Developer(s) Robert Bradshaw, Stefan Behnel, et al. Initial release 28 July 2007 (2007 07 28) …   Wikipedia

  • Python (programming language) — infobox programming language name = Python paradigm = multi paradigm: object oriented, imperative, functional year = 1991 designer = Guido van Rossum developer = Python Software Foundation latest release version = 2.6 latest release date =… …   Wikipedia

  • Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му …   Википедия

  • Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г …   Википедия

  • Pyrex (programming language) — Infobox Software name = Pyrex caption = developer = Greg Ewing latest release version = 0.9.8.4 latest release date = June 6, 2008 operating system = Cross platform genre = Programming language website = [http://www.cosc.canterbury.ac.nz/… …   Wikipedia

  • Comparison of programming languages — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • Sage (scientific computing software) — infobox software name = Sage caption = Sage animated .gif, y=x2 (red) vs. y=x3(blue) released = 24 February 2005 latest release version = 3.1.2 latest release date = 19 September 2008 programming language = Python, Cython operating system = Cross …   Wikipedia

  • Python (Programmiersprache) — Python Basisdaten Paradigmen: multiparadigmatisch Erscheinungsjahr: 1991 …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»