Psyco
Psyco — JIT-компилятор языка Python, изначально разработанный Армином Риго (Armin Rigo), в дальнейшем поддерживался и развивался Кристианом Тисмером (Christian Tismer). В настоящее время проект является закрытым. О прекращении поддержки Psyco объявлено 12 марта 2012 года.
Psyco | |
---|---|
Тип | JIT-компилятор |
Разработчики | Армин Риго, затем Кристиан Тисмер |
Написана на | C |
Операционная система | Unix-подобные, Windows, Mac OS X |
Последняя версия | 1.6 (16 декабря 2007 года) |
Лицензия | MIT |
Сайт | psyco.sourceforge.net |
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].
См. также
Примечания
- Data Science from Scratch. First Principles with Python. — O'Reilly, 2019.
- Python Psyco benchmarks (недоступная ссылка). Дата обращения: 24 апреля 2008. Архивировано 5 июля 2012 года.
- Python Psyco Homepage at sourceforge (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
- A beginners guide to using Python for performance computing at scipy.org (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
- Charming Python: Make Python run as fast as C with Psyco (недоступная ссылка). Дата обращения: 4 марта 2009. Архивировано 5 июля 2012 года.
- Boxplot Summary (недоступная ссылка). Дата обращения: 16 октября 2009. Архивировано 5 июля 2012 года.
- Announcement on pypy-dev mailing list with links to project page Архивировано 20 июля 2009 года.