Psyco

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Psyco
Тип JIT-компилятор
Разработчик Армин Риго, затем Кристиан Тисмер
Разработчики Армин Риго, затем Кристиан Тисмер
Написана на C
Операционная система Unix-подобные, Windows, Mac OS X
Последняя версия 1.6 (16 декабря 2007 года)
Лицензия MIT
Сайт psyco.sourceforge.net

Psyco — JIT-компилятор языка Python, изначально разработанный Армином Риго (Armin Rigo), в дальнейшем поддерживался и развивался Кристианом Тисмером (Christian Tismer). В настоящее время проект является закрытым. О прекращении поддержки Psyco объявлено 12 марта 2012 года.

Psyco работает в Unix-подобных ОС, Windows, Mac OS X на 32-разрядных Intel-совместимых процессорах. Psyco написан на C и генерирует только x86-код. Развитием проекта Psyco является PyPy, который включает в себя интерпретатор и компилятор, который может генерировать код на C и превосходит Psyco по кросс-платформенной совместимости.[1]

Увеличение скорости

Psyco может заметно ускорить приложение. Реальные значения производительности во многом зависят от применения и варьируются от небольшого замедления до 100-кратного ускорения[2][3][4][5]. Среднее увеличение скорости, как правило, находится в диапазоне от 1,5 до 4 раз, что делает характеристики Python близкими к таким языкам, как Smalltalk и Scheme, но все же медленнее, чем компилируемые языки, такие как Fortran, C и некоторые языки, использующие JIT (C# и Java)[6].

Psyco можно использовать даже двумя строчками кода:

import psyco

psyco.full()

Эти команды импортируют модуль Psyco и позволяют оптимизировать весь скрипт. Этот подход лучше всего подходит для коротких скриптов, но демонстрирует минимальный объем работы, достаточный для применения Psyco к существующей программе.

Дальнейшая разработка

17 июля 2009 года Кристиан Тисмер объявил, что ведётся работа над Psyco V2[7].

См. также

Примечания

  1. Data Science from Scratch. First Principles with Python. — O'Reilly, 2019. Архивная копия от 17 августа 2021 на Wayback Machine
  2. Python Psyco benchmarks (недоступная ссылка). Дата обращения: 24 апреля 2008. Архивировано 5 июля 2012 года.
  3. Python Psyco Homepage at sourceforge (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
  4. A beginners guide to using Python for performance computing at scipy.org (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
  5. Charming Python: Make Python run as fast as C with Psyco (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
  6. Boxplot Summary (недоступная ссылка). Дата обращения: 16 октября 2009. Архивировано 5 июля 2012 года.
  7. Announcement on pypy-dev mailing list with links to project page Архивировано 20 июля 2009 года.

Ссылки