Представлен (https://morepypy.blogspot.ru/2017/03/pypy27-and-pypy35-v57-t...) новый выпуск проекта PyPy 5.7 (http://pypy.org/), в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), 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-компилятора, на лету транслирующего некоторые элементы в машинный код, что позволяет обеспечить высокий (http://speed.pypy.org/) уровень производительности - при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.
Основные улучшения (http://doc.pypy.org/en/latest/release-v5.7.0.html):- Продолжена работа по усовершенствованию прослойки cpyext для обеспечения совместимости с C-API. В PyPy2 обеспечена возможность импорта и запуска многих пактов с расширениями на языке Си, включая Numpy, Cython и Pandas. Для часто вызываемых небольших Си-функций производительность может быть ниже CPython, но разработчики работают над устранением проблемы;
- Ветка PyPy3.5 достигла статуса бета-выпуска, она пока проходит не все тесты, но уже поддерживает asyncio и показывает неплохой рост производительности. Из ветки Python 3.6 бэкпортирована поддержка форматируемых строковых литералов (f"").
- До версии 1.10 обновлён модуль CFFI (https://cffi.readthedocs.org/en/latest/) (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю ctypes (http://python.net/crew/theller/ctypes/).
- В качестве gcrootfinder (http://doc.pypy.org/en/latest/config/translation.gcrootfinde...) (поиск корневых указателей при сборке мусора) по умолчанию задействован shadowstack, производительность которого заметно увеличена в новом выпуске. Ранее используемый asmgcc в будущих выпусках будет переведён в разряд устаревших. Shadowstack примерно на 3% медленнее asmgcc, но значительно проще в сопровождении и отладке.
Основные особенности PyPy:
- Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу);
- Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.- Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;
- PyPy успешно проходит стандартный тестовый пакет Python и поддерживает (http://pypy.org/compat.html) большинство из стандартных 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 (https://www.opennet.ru/opennews/art.shtml?num=40150) (PyPy Software Transactional Memory).
URL: https://morepypy.blogspot.ru/2017/03/pypy27-and-pypy35-v57-t...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46246
Когда там Firefox на JS перепишут полностью, шобы из под хрома запускать?
После того как взят курс на выпиливание XUL – никогда :)
> На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.Я конечно понимаю что фаны гвидобейсика не различают Python и RPython но хотелось бы видеть ссылки где это ведется разработка. Насколько помню оно все дохлое.
Прямо уж и дохлое? https://bitbucket.org/pypy/pypy/commits/all
Вы вообще читаете перед тем как отвечать? Причем тут pypy когда я говорю про реализацию других ЯП (отличных от питона) на базе разработок PyPy.
Реально интересно бы было видеть Ruby-connector, который позволил бы подключать питоновские объекты как родные и делать с ними то же, что и с родными. Типа JRuby, где подобные манипуляции можно проводить над Java объектами. Это бы сильно облегчило интеграцию написанного на питоне в реальные веб-приложения и снизило бы мотивацию писать на питоне ML-задачи.
Увы, но питон тихо, но верно, идут вслед за Перлом.
субж
Только сообщество Перла спокойно восприняло ситуацию, адекватно приняло новые инструменты. А тут какие-то конвульсии, тянутся уже несколько лет и не понятно, когда закончится.
Не замечают тишины. В каждой новости нытье и визги.
Раскрой мысль
Очевидно теряет популярность из-за неисправимых архитектурных недостатков, которых лишены новые языки.
>PythonНенавижу этот язык. Он просто омерзителен. Внешний вид -- гoвнo, специфические нюансы(вроде запрета пустых блоков) -- дерьмо, инструментарий для отладки -- кал.
Жалкое и ничтожное подобие языка программирования.
Даже РНР меньше бесит.
На 1000% согласен, хочется блевать от синтаксиса питона.
Так не пользуйся, чай не в ЦЦЦР - языков море на каждый вкус и цвет.
Да я бы рад, но обстоятельства заставляют. Пока приходится страдать.
страдай
Страдаю.
Куда деваться, оно всплыло в каждом дистре.
держите нас в курсе, ведь ваше мнение очень важно для нас
Полностью согласен. И ведь еще пихают везде, никак не избежишь. И как на зло, один говокод, как будто нормальных программистов на питоне вовсе и нет.
> Полностью согласен. И ведь еще пихают везде, никак не избежишь. И как
> на зло, один говокод,Закономерно. Чем професиОналЪнее разработчик и по совместительству эксперт-всего-и-вся опеннета, тем чаще обстоятельства заставляют его пользоваться навязанным инструментом и жрать кактус.
В кои-то веки согласен.
Это пройдёт. Вон мы на Питоне уже кучу проектов сдали, и нормально. "И что?" - спросишь ты. А я отвечу - просто, лаконично и быстро. Работаем не напрягаясь. Чего и вам советую. Насчёт плохих идэе - это проблема слоупоков, которые не знают о существовании ПиШарма - там есть всё синтаксис, подсказки и дебаг 100%. В общем дерзай, а эмоции отставь в сторону. Я как заядлый сишник и сиплюсовец, очень люблю Питон именно за синтаксис, он простой и короткий.
>CНенавижу этот язык. Он просто омерзителен. Внешний вид -- гoвнo, специфические нюансы(вроде проваливающегося switch) -- дерьмо, инструментарий для отладки -- кал.
Жалкое и ничтожное подобие языка программирования.
Даже Malbolge меньше бесит./s
Уймись. Не умеешь готовить - учись. Не хочешь учиться - не ной. Ныть можно о любом языке.
Анонимные Дзен буддисты теперь и на опеннете. Ваше мнение очень важно для нас.
"проваливающийся switch" на самом деле фишка. Но куда питонисту это понять...
> "проваливающийся switch" на самом деле фишка. Но куда питонисту это понять...Обозвать исторический костыль фишкой -- это сильно.
Фишка, это перловское "continue" в свиче, позволяющее не писать каждый раз кучу break-ов, но при надобности иметь и проваливающееся поведение.
switch не if, там применяется хэш-таблица для оптимизации скорости поиска.
> Ненавижу этот язык. Он просто омерзителен. ...Не вижу вообще повода для подобной истерики. Си не идеален, но ненавидеть его из-за данной особенности - глупость.
> switch не if, там применяется хэш-таблицаНу-ну. Cразу видно питониста, пытающегося шифроваться под матерого сишника )
jmp-table и hash-table это две большие разницы.> для оптимизации скорости поиска.
И break влияет на это как? Открою секрет: никак.
Просто когда-то, в дремучие времена, так было проще cкомпилировать.>> Ненавижу этот язык. Он просто омерзителен. ...
> Не вижу вообще повода для подобной истерики. Си не идеален, но ненавидеть
> его из-за данной особенности - глупость.Думаю, это была ирония. Кстит, Анонимов на опеннете заметно больше двух - штук пять или даже все десять!
А, это ты.
> полная прозрачность встроенного JIT-компиляторачто имеется ввиду?