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 в релиз не вошёл.

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

Улучшена работа в окружении FreeBSD

лучше работает - больше пользы! ура!

rust_afari ()

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

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

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

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

В 3.7 в тайп-хинты добавили ленивость и forward references

Crocodoom ★★ ()

Еще один питонотред?! Считаем теперь шутки про пипи.

bread ()

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

GNU Hurd

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

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

Круто, можно по-человечески тайп-хинты.

по-человечески

тайп-хинты

/0

sT331h0rs3 ★★★★★ ()

Как у этого JIT рантайм характеристики потребления памяти по сравнению например с Java? Я вроде ничего хорошего не слышал

vertexua ★★★☆☆ ()

Отступы починили? Многострочные лямбды есть?

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

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

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

pawnhearts ★★★★ ()

Несколько раз пытался собрать, ни разу памяти не хватило. Забил.

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

даже под оффтопиком

на то оффтопик и оффтопик, собсна...

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

Точно, вот его главное отличие от жабы и .NET языков. Я теперь понял, откуда столько на лоре стало ненавистников динамической типизации.

ArkaDOSik ()

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

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

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

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

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

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

«скорость разработки, скорость выполнения, надежность» - выбери два.

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

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

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

dicos ()

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

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

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

Тем временем в ruby завезли jit которым в питон и не пахнет

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

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

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

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

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

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

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

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

Vudod ★★★★★ ()

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

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

kto_tama ★★★★★ ()

7.0

3.6

3.5

2.7

Что вообще происходит?

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

Что вообще происходит?

Какой-то балбес выстроил в один столбик версии разных продуктов.

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

Ну неужели нельзя писать JIT для питона

А с чего вы взяли, что цель PyPy написание JIT?

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

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

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

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

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

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

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

Забавно такое слышать от адептов архаичного недоязычка.

bread ()

Так я не понил, что лучше, пипи или джулия?

yvv ★★☆ ()

Хорошая реализация питона

gorky ()

Что в сравнении с Numba? Кто преобразует лучше? Встречал ли кто сравнение в работе с готовыми пакетам вроде PyTorch, TF?

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

Нумба более ограниченная. А так разница по-моему в том что она компилирует целиком при обращении.

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

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

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

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

Это неловкое чувство

когда нужно делать скоростной код и ты пишешь на Питоне

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

А ведь первого раза должно было хватить, чтобы понять, что памяти не хватает.

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

По крайней мере там нет такого зоопарка как в питоне. distutils, setuptools, easy_install, pip, virtialenv, venv, pyenv, pipenv, etc etc

pawnhearts ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.