LINUX.ORG.RU

Релиз PyPy 7.0

 ,


1

1

Состоялся релиз PyPy 7.0 — свободной реализации Python для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS (x86_64), OpenBSD, FreeBSD и Windows (x86). Особенностью PyPy является JIT-компиляция, на лету транслирующая некоторые элементы в машинный код, что позволяет очень сильно ускорить приложение.

Что нового:

  • Представлен первый альфа-выпуск PyPy3.6, предоставляющий поддержку Python 3.6.
  • Добавлена возможность подключения обработчиков к сборщику мусора (GC hooks), позволяющих на низком уровне управлять поведением сборщика мусора.
  • Обновлены модули CFFI 1.12 и cppyy 1.4 с реализацией интерфейса для вызова функций, написанных на языках Си и C++.
  • В ветках PyPy 3.5 и PyPy 3.6 появилась поддержка cppyy, который раньше был доступен только в PyPy 2.7.
  • Реализованы специфичные для Python 3.6 функции и объекты Py_ReprEnter, Py_ReprLeave(), PyMarshal_ReadObjectFromString, PyMarshal_WriteObjectToString, PyObject_DelItemString, PyMapping_DelItem, PyMapping_DelItemString, PyEval_GetFrame, PyOS_InputHook, PyErr_FormatFromCause, __set_name__, __init_subclass__.
  • В основную ветку PyPy переведена разработка отладчика revdb с поддержкой отладки с возвратом к более ранним состояниям (reverse debugging).
  • Добавлена поддержка платформы GNU Hurd.
  • Улучшена работа в окружении FreeBSD.
  • Код для перевода внутреннего представления строк на UTF-8 в релиз не вошёл.

>>> Подробности

Представлен первый альфа-выпуск PyPy3.6, предоставляющей поддержку Python 3.6

Круто, можно по-человечески тайп-хинты. А в 3.7 всё равно ничего хорошего не добавили.

Pacmu3ka ()

Идея хорошая, реализация плохая. Ну неужели нельзя писать JIT для питона на C как часть CPython (ну или форк)? Режим интерпретации оставить в покое и делать JIT компилятор .pyc файлов, по аналогии с .jar у жабы. Летало бы как ракета.

GNU Hurd

Да неужели? Оно даже под оффтопиком с MinGW не собирается, а тут, но конечно похвально и даже больше нужно.

ArkaDOSik ()
Ответ на: комментарий от ArkaDOSik

Ну неужели нельзя

Нет, нельзя. Питон слишком динамический для этого, pypy это трассирующий JIT. Если в коде есть type hints, но можно его собрать в .so модуль с помощью mypyc

pawnhearts ★★★★ ()

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

С другой стороны, если нужна скорость лучше писать на чем нибудь типа с++

ism ★★ ()
Последнее исправление: ism (всего исправлений: 2)
Ответ на: комментарий от vertexua

Писал как-то штуку для работы с графами, с огромным количеством узлов. Очень удивился, что потребление памяти на pypy было примерно в 1.5 раза меньше.

anonymous ()
Ответ на: комментарий от ism

С другой стороны, если нужна скорость лучше писать на чем нибудь типа с++

Если тормозит какой-то конкретный участок кода, проще взять Cython, чем переписывать весь код.

dicos ()

Это хорошо, хотя движутся медленно. Пора бы сосредоточиться на реализации 3-го Питона, а они всё второй пилят. Очевидно же, что старый код со старыми библиотеками вряд ли будут на PyPy запускать.

Прирост есть. У меня получилось несколько лет назад где-то 2-3 раза. Обещали до 7.

Vudod ★★★★★ ()
Ответ на: комментарий от ArkaDOSik

Ты так говоришь будто жаба и дотнет не кнченая тормозная говнина. Пока жит там разогреется, пройдёт не мало времени, да и памяти эта дрянь жрёт.А pypy например может и меньше памяти чем cpython потреблять.

anonymous ()
Ответ на: комментарий от ArkaDOSik

К тому же жит оптимизирует только горячие куски, т.е. это всё та же тормозная говнина на 99% задач. Pypy в этом отношении получше наверно.

anonymous ()
Ответ на: комментарий от anonymous

Проблема рубей в том, что jit туда завезли, а вот язык нормальный завезти забыли. Все ругают Питон, но его ниша и экосистема продолжают расширяться. Потому что он логичный, удобный, простой, достаточно выразительный, а не только потому, что модулей для него много написали. А в Руби слишком много от желания автора самовыразиться правильно, так, как он считает нужным.

Vudod ★★★★★ ()

В основную ветку PyPy переведена разработка отладчика revdb с поддержкой отладки с возвратом к более ранним состояниям (reverse debugging)

Отладчик в питоне ?
Питон превращается, питон превращается ...

kto_tama ★★★★★ ()
Ответ на: комментарий от pawnhearts

Емнип жто очень интересный и своеобразный жит и несколько отличается от той же жабы, в том плане что показывает хорошие результаты не только на синтетике.

anonymous ()
Ответ на: комментарий от anonymous

Время рабей прошло лет 5 назад, навсегда. Crystal и то актуальней.

4.2. Crystal похоже помер. Я за ним слежу, и в течение этого года активность совсем скукожилась. Новые версии компилятора еще клепают, а шарды совсем дохлые, юзеров с гулькин нос. В рубях хоть есть проверенные временем батарейки для веба.

bread ()
Ответ на: комментарий от Vudod

Проблема рубей в том, что jit туда завезли, а вот язык нормальный завезти забыли.

Нормальный язык. Проблема руби, что он от Питона отличается слабо, но при этом имеет много более слабую экосистему.

oldstable ()