close

Пипи

Перейти к навигации Перейти к поиску
пипи
Часть программы сохранения свободы программного обеспечения
Логотип Pypy (2011).png
Главная Информация
тип программы интерпретатор команд
разработчик пип-проект
Первый выпуск 2002 г.
Лицензия лицензия Массачусетского технологического института
Техническая информация
Запланировано в
Версии
Последняя стабильная версия 7.3.930 марта 2022 г.
Ссылки

PyPy — это JIT-компилятор и интерпретатор для языка Python , который ориентирован на скорость и эффективность и на 100% совместим с исходным интерпретатором CPython .

Детали и мотивация

PyPy был задуман как реализация Python, написанная на Python, позволяющая разработчикам Python взломать язык. Это позволяет легко определить области для улучшения. Тот факт, что PyPy реализован на языке высокого уровня, означает, что он более гибкий и с ним легче экспериментировать, чем с CPython , что позволяет разработчикам исследовать несколько реализаций конкретных функций и выбирать наилучшую.

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

Перевод

PyPy состоит из стандартного интерпретатора и транслятора. Интерпретатор написан на ограниченном подмножестве языка Python под названием RPython [ 1 ] ( restricted Python ). В отличие от стандартного Python, RPython имеет статическую типизацию , что обеспечивает эффективную компиляцию.

Транслятор — это набор инструментов , который анализирует код RPython и переводит его на язык более низкого уровня, такой как C , LLVM или MSIL . Он также позволяет использовать подключаемый сборщик мусора и при необходимости включать Stackless . Наконец, он включает в себя JIT - генератор , который строит JIT-компилятор внутри интерпретатора, предоставляя некоторые аннотации в исходном коде.

Статус проекта

PyPy является продолжением проекта Psyco , разработанного Армином Риго . Цель PyPy — создать специализированный компилятор времени выполнения с большей кросс-платформенной способностью, чем у Psyco.

История

PyPy начинался как проект разработки, ориентированный на исследования. Однако по достижении версии 1.0 в середине 2007 года их цели изменились на выпуск стабильных, ориентированных на производство выпусков с расширенной поддержкой CPython . 28 апреля 2008 г. [ 2 ] была выпущена версия 1.1.

К концу 2008 года PyPy смог запустить некоторые популярные библиотеки, такие как Django , [ 3 ] Pylons , [ 4 ] Pyglet , [ 5 ] и Nevow . [ 6 ]

В марте 2010 года был выпущен PyPy 1.2 с упором на скорость, включая компилятор времени выполнения , который работал, но его не рекомендовали использовать в производственных средах.

В декабре 2010 года была выпущена PyPy 1.4, первая качественная версия производственного кода. PyPy 1.4 совместим с Python 2.5.

30 апреля 2011 г. был выпущен PyPy 1.5, совместимый с Python 2.7.1. [ 7 ]

18 августа был выпущен PyPy 1.6 «Kickass Panda», который поддерживает совместимость с Python 2.7.1, но добавляет поддержку ( бета ) для загрузки расширений C для CPython. [ 8 ]

Ссылки

Внешние ссылки