The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск PyPy 5.7, реализации Python, написанной на языке Python

23.03.2017 22:14

Представлен новый выпуск проекта PyPy 5.7, в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7 и PyPy3.5, обеспечивающих поддержку синтаксиса Python 2.7 и Python 3.5, и поставляемых с stdlib 2.7.13 и 3.5.3. Выпуск PyPy2.7 5.7 доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS и Windows, а выпуск PyPy3.5 5.7 только для Linux x86_64.

Особенностью PyPy является использование JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, что позволяет обеспечить высокий уровень производительности - при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.

Основные улучшения:

  • Продолжена работа по усовершенствованию прослойки cpyext для обеспечения совместимости с C-API. В PyPy2 обеспечена возможность импорта и запуска многих пактов с расширениями на языке Си, включая Numpy, Cython и Pandas. Для часто вызываемых небольших Си-функций производительность может быть ниже CPython, но разработчики работают над устранением проблемы;
  • Ветка PyPy3.5 достигла статуса бета-выпуска, она пока проходит не все тесты, но уже поддерживает asyncio и показывает неплохой рост производительности. Из ветки Python 3.6 бэкпортирована поддержка форматируемых строковых литералов (f"").
  • До версии 1.10 обновлён модуль CFFI (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю ctypes.
  • В качестве gcrootfinder (поиск корневых указателей при сборке мусора) по умолчанию задействован shadowstack, производительность которого заметно увеличена в новом выпуске. Ранее используемый asmgcc в будущих выпусках будет переведён в разряд устаревших. Shadowstack примерно на 3% медленнее asmgcc, но значительно проще в сопровождении и отладке.

Основные особенности PyPy:

  • Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу);
  • Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.
  • Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;
  • PyPy успешно проходит стандартный тестовый пакет Python и поддерживает большинство из стандартных Python-модулей и фреймворков, таких как ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet. PyPy может быть использован для бесшовной замены CPython;
  • Поддержка работы на архитектурах x86 (IA-32) , x86_64, ARM и PowerPC (PPC64);
  • На базе технологий PyPy созданы бэкенды для генерации в PyPy байткода для LLVM и виртуальных машин .NET/CLI и Java.
  • На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.
  • Вариант PyPy с поддержкой распараллеливания на многоядерных системах развивается в рамках проекта PyPy-STM (PyPy Software Transactional Memory).


  1. Главная ссылка к новости (https://morepypy.blogspot.ru/2...)
  2. OpenNews: Выпуск PyPy2.7 5.6, реализации Python, написанной на языке Python
  3. OpenNews: Выпуск PyPy3 5.5, реализации Python 3, написанной на языке Python
  4. OpenNews: Dropbox прекращает разработку Pyston, реализации языка Python с JIT-компилятором
  5. OpenNews: Выпуск языка программирования Python 3.6
  6. OpenNews: Google представил Grumpy, транслятор кода Python на язык Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46246-pypy
Ключевые слова: pypy, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, VINRARUS (ok), 22:28, 23/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Когда там Firefox на JS перепишут полностью, шобы из под хрома запускать?
     
     
  • 2.2, apollo2k4 (ok), 22:39, 23/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    После того как взят курс на выпиливание XUL – никогда :)
     

  • 1.3, Аноним (-), 23:34, 23/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.

    Я конечно понимаю что фаны гвидобейсика не различают Python и RPython но хотелось бы видеть ссылки где это ведется разработка. Насколько помню оно все дохлое.

     
     
  • 2.9, Василий Топоров (?), 10:51, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо уж и дохлое? https://bitbucket.org/pypy/pypy/commits/all
     
     
  • 3.27, Аноним (-), 07:51, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы вообще читаете перед тем как отвечать? Причем тут pypy когда я говорю про реализацию других ЯП (отличных от питона) на базе  разработок PyPy.
     

  • 1.4, Аноним (-), 03:34, 24/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Реально интересно бы было видеть Ruby-connector, который позволил бы подключать питоновские объекты как родные и делать с ними то же, что и с родными. Типа JRuby, где подобные манипуляции можно проводить над Java объектами. Это бы сильно облегчило интеграцию написанного на питоне в реальные веб-приложения и снизило бы мотивацию писать на питоне ML-задачи.
     
     
  • 2.5, Mail (?), 05:55, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Увы, но питон тихо, но верно, идут вслед за Перлом.
     
     
  • 3.6, Вот и хорошо (?), 09:21, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    субж
     
  • 3.7, Аноним (-), 10:28, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только сообщество Перла спокойно восприняло ситуацию, адекватно приняло новые инструменты. А тут какие-то конвульсии, тянутся уже несколько лет и не понятно, когда закончится.
     
  • 3.8, Аноним (-), 10:31, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не замечают тишины. В каждой новости нытье и визги.
     
  • 3.10, Аноним (-), 11:49, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Раскрой мысль
     
     
  • 4.19, Аноним (-), 15:18, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно теряет популярность из-за неисправимых архитектурных недостатков, которых лишены новые языки.
     

  • 1.11, A.Stahl (ok), 12:04, 24/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >Python

    Ненавижу этот язык. Он просто омерзителен. Внешний вид -- гoвнo, специфические нюансы(вроде запрета пустых блоков) -- дерьмо, инструментарий для отладки -- кал.
    Жалкое и ничтожное подобие языка программирования.
    Даже РНР меньше бесит.

     
     
  • 2.12, Аноним (-), 12:20, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На 1000% согласен, хочется блевать от синтаксиса питона.
     
  • 2.13, Анончик (?), 12:36, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так не пользуйся, чай не в ЦЦЦР - языков море на каждый вкус и цвет.
     
     
  • 3.14, A.Stahl (ok), 12:39, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да я бы рад, но обстоятельства заставляют. Пока приходится страдать.
     
     
  • 4.17, Имя (?), 14:40, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    страдай
     
     
  • 5.18, A.Stahl (ok), 14:47, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Страдаю.
     
  • 3.16, Линукс еще не готов (?), 14:32, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Куда деваться, оно всплыло в каждом дистре.
     
  • 2.15, notte (?), 14:04, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    держите нас в курсе, ведь ваше мнение очень важно для нас
     
  • 2.20, Аноним (-), 15:25, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Полностью согласен. И ведь еще пихают везде, никак не избежишь. И как на зло, один говокод, как будто нормальных программистов на питоне вовсе и нет.
     
     
  • 3.21, Аноним (-), 17:44, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Полностью согласен. И ведь еще пихают везде, никак не избежишь. И как
    > на зло, один говокод,

    Закономерно. Чем професиОналЪнее разработчик и по совместительству эксперт-всего-и-вся опеннета, тем чаще обстоятельства заставляют его пользоваться навязанным инструментом и жрать кактус.


     
  • 2.22, Тот_Самый_Анонимус (?), 18:10, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В кои-то веки согласен.
     
  • 2.25, Аноимный Аноним. Избранное (?), 23:21, 24/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это пройдёт. Вон мы на Питоне уже кучу проектов сдали, и нормально. "И что?" - спросишь ты. А я отвечу - просто, лаконично и быстро. Работаем не напрягаясь. Чего и вам советую. Насчёт плохих идэе - это проблема слоупоков, которые не знают о существовании ПиШарма - там есть всё синтаксис, подсказки и дебаг 100%. В общем дерзай, а эмоции отставь в сторону. Я как заядлый сишник и сиплюсовец, очень люблю Питон именно за синтаксис, он простой и короткий.
     
  • 2.26, Аноним (-), 07:31, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >C

    Ненавижу этот язык. Он просто омерзителен. Внешний вид -- гoвнo, специфические нюансы(вроде проваливающегося switch) -- дерьмо, инструментарий для отладки -- кал.
    Жалкое и ничтожное подобие языка программирования.
    Даже Malbolge меньше бесит.

    /s
    Уймись. Не умеешь готовить - учись. Не хочешь учиться - не ной. Ныть можно о любом языке.

     
     
  • 3.28, Аноним (-), 07:57, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Анонимные Дзен буддисты теперь и на опеннете. Ваше мнение очень важно для нас.
     
  • 3.31, Аноним (-), 15:06, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "проваливающийся switch" на самом деле фишка. Но куда питонисту это понять...
     
     
  • 4.32, Аноним (-), 15:24, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "проваливающийся switch" на самом деле фишка. Но куда питонисту это понять...

    Обозвать исторический костыль фишкой -- это сильно.
    Фишка, это перловское "continue" в свиче, позволяющее не писать каждый раз кучу break-ов, но при надобности иметь и проваливающееся поведение.


     
     
  • 5.33, Аноним (-), 18:15, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    switch не if, там применяется хэш-таблица для оптимизации скорости поиска.
    > Ненавижу этот язык. Он просто омерзителен. ...

    Не вижу вообще повода для подобной истерики. Си не идеален, но ненавидеть его из-за данной особенности - глупость.

     
     
  • 6.34, Аноним (-), 18:37, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > switch не if, там применяется хэш-таблица

    Ну-ну. Cразу видно питониста, пытающегося шифроваться под матерого сишника )
    jmp-table и hash-table это две большие разницы.

    > для оптимизации скорости поиска.

    И break влияет на это как? Открою секрет: никак.
    Просто когда-то, в дремучие времена, так было проще cкомпилировать.

    >> Ненавижу этот язык. Он просто омерзителен. ...
    > Не вижу вообще повода для подобной истерики. Си не идеален, но ненавидеть
    > его из-за данной особенности - глупость.

    Думаю, это была ирония. Кстит, Анонимов на опеннете заметно больше двух - штук пять или даже все десять!


     
  • 2.29, Психиатор (?), 12:41, 25/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А, это ты.
     

  • 1.30, Xasd (ok), 13:00, 25/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > полная прозрачность встроенного JIT-компилятора

    что имеется ввиду?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру