Психо
Разработчик(и) | Армин Риго, Кристиан Тисмер |
---|---|
Финальный выпуск | 1,6
/ 16 декабря 2007 г |
Репозиторий | |
Написано в | С , Питон |
Операционная система | Кросс-платформенный |
Платформа | 32-битная версия x86 только |
Тип | Компилятор «точно в срок» |
Лицензия | МОЯ лицензия |
Веб-сайт | псих |
Psyco — это несопровождаемый специализированный JIT-компилятор до 2.7 для Python версий , первоначально разработанный Армином Риго и в дальнейшем поддерживаемый и развиваемый Кристианом Тисмером . Разработка прекратилась в декабре 2011 года. [1]
Psyco работал в BSD операционных системах, производных от , Linux , Mac OS X и Microsoft Windows с использованием 32-битных процессоров, совместимых с Intel. Psyco был написан на C и генерировал только 32-битный код на базе x86 .
Хотя 17 июля 2009 года Тисмер объявил, что ведется работа над второй версией Psyco, [2] В следующем объявлении от 12 марта 2012 года проект был объявлен «неподдерживаемым и мертвым» и вместо этого был указан посетителям PyPy . [3] В отличие от Psyco, PyPy включает в себя интерпретатор и компилятор, которые могут генерировать C, что улучшает его кросс-платформенную совместимость по сравнению с Psyco.
Повышение скорости
[ редактировать ] этого раздела Фактическая точность может быть нарушена из-за устаревшей информации . ( сентябрь 2018 г. ) |
Psyco может заметно ускорить приложения, ориентированные на процессор. Фактическая производительность сильно зависит от приложения и варьируется от небольшого замедления до 100-кратного ускорения. [4] [5] [6] [7] Среднее улучшение скорости обычно находится в диапазоне 1,5-4 раза, что делает производительность Python близкой к таким языкам, как Smalltalk и Scheme , но все же медленнее, чем компилируемые языки, такие как Fortran , C или некоторые другие JIT- языки, такие как C# и Java . [8]
Psyco также рекламирует свою простоту использования: простейшая оптимизация Psyco предполагает добавление всего двух строк в начало скрипта: [9]
import psyco
psyco.full()
Эти команды импортируют модуль psyco и заставят Psyco оптимизировать весь скрипт. Этот подход лучше всего подходит для более коротких сценариев, но демонстрирует минимальный объем работы, необходимый для начала применения оптимизации Psyco к существующей программе.
См. также
[ редактировать ]- PyPy
- Ненагруженная ласточка
- Китон
- YARV (еще одна виртуальная машина Ruby)
Ссылки
[ редактировать ]- ^ «психо/коммит» . Битбакет . Армин Риго.
- ^ Тисмер, Кристиан (17 июля 2009 г.). «[pypy-dev] ANN: psyco V2» . список рассылки pypy-dev .
- ^ «Домашняя страница Психо» .
- ^ «Бенчмарки Python Psyco» . Архивировано из оригинала 6 июня 2008 г. Проверено 24 апреля 2008 г.
- ^ «Домашняя страница Python Psyco на sourceforge» . Проверено 4 марта 2009 г.
- ^ «Руководство для начинающих по использованию Python для высокопроизводительных вычислений на scipy.org» . Архивировано из оригинала 11 марта 2009 г. Проверено 4 марта 2009 г.
- ^ «Очаровательный Python: заставьте Python работать так же быстро, как C с помощью Psyco» . ИБМ . Проверено 4 марта 2009 г.
- ^ «Резюме блочной диаграммы» . Архивировано из оригинала 3 июня 2011 г. Проверено 16 октября 2009 г.
- ^ Риго, Армин. «Быстрые примеры» . Полное руководство по психологии . Проверено 3 июня 2011 г.
Внешние ссылки
[ редактировать ]- Psyco на SourceForge
- Статья Дэвида Мерца на сайте DeveloperWorks в IBM : Заставьте Python работать так же быстро, как C с помощью Psyco
- Психо-заметки, Бедный Йорик
- Бесплатное программное обеспечение, написанное на Python.
- Реализации Python (языка программирования)
- Программное обеспечение Python (язык программирования)
- Программное обеспечение, использующее лицензию MIT
- Заглушки бесплатного программного обеспечения и программного обеспечения с открытым исходным кодом