URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116920
[ Назад ]

Исходное сообщение
"Релиз PyPy 7.1, реализации Python, написанной на языке Python"

Отправлено opennews , 25-Мрт-19 22:04 
Опубликован (https://morepypy.blogspot.com/2019/03/pypy-v71-released-now-...) релиз проекта PyPy 7.1 (http://pypy.org/), в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7, PyPy3.5 и PyPy3.6 (beta-версия), обеспечивающих поддержку синтаксиса Python 2.7, Python 3.5 и Python 3.6. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS (x86_64),  OpenBSD, FreeBSD и Windows (x86).


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

Новый выпуск примечателен переработкой внутреннего представления строк. Строки теперь изначально хранятся в кодировке utf8. Изменение  позволило заметно поднять производительность работы со строками за счёт избавления от выполнения перекодирования. Перевод строк на utf-8 пока  принят только в ветку PyPy 3.5, но в ближайшее время также ожидается и в ветке 3.6. Из других изменений отмечается улучшение работы python-интерфейса buffer со структурами и массивами ctype, что позволило оптимизировать совместный доступ к буферам между ctypes и NumPy. Обновлён модуль CFFI 1.12.2 (C Foreign Function Interface)  с реализацией интерфейса для вызова функций, написанных на языках Си и C++. CFFI рекомендован для взаимодействия с кодом на Си, в то время как  cppyy для кода на C++.


URL: https://morepypy.blogspot.com/2019/03/pypy-v71-released-now-...
Новость: https://www.opennet.dev/opennews/art.shtml?num=50390


Содержание

Сообщения в этом обсуждении
"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 22:04 
Нужно.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 23:22 
Только в теории... На практике, если ваш проект использует хотя бы 10 библиотек, вероятность, что хотя бы одна некорректно работает с PyPy становится близка к 100%. Столько раз уже это проходили

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено IRASoldier , 25-Мрт-19 22:08 
>Строки теперь изначально хранятся в кодировке utf8

Наконец-то, хвала Омниссии.


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 22:18 
А до это в каком виде хранились, как в CPython 3 в UCS-2?

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено IRASoldier , 26-Мрт-19 00:10 
UCS-4

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Анонимс , 25-Мрт-19 22:24 
> при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython).

Это просто магия какая-то. А как же утверждение, что нет ничего быстрее С? Как такое возможно?


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 22:50 
Ну смотри. Интел тоже поначалу был суперсверхвысокоскоростным. А потом кое-что выяснилось.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено myhand , 25-Мрт-19 23:00 
> А как же утверждение, что нет ничего быстрее С?

А кто утверждал, что PyPy обгоняет C?

> Как такое возможно?

Одна реализация Python обгоняет другую, что тут невозможного-то?  Кстати, обе на C.


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 23:28 
> Кстати, обе на C.

А вот и нет, PyPy написан на Python


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено myhand , 25-Мрт-19 23:47 
RPython, да.  Но внутре-то у ней все-же C.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено funny.falcon , 26-Мрт-19 14:27 
> Но внутре-то у ней все-же C.

Правда? Покажешь?


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено myhand , 26-Мрт-19 16:10 
$ ldd /usr/lib/pypy3/bin/pypy3-c
        ...
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd32e596000)
        ...

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено K , 28-Мрт-19 21:09 
Это всего лишь доказывает, что rpython компилит в elf-бинарь

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено myhand , 29-Мрт-19 20:52 
И еще немножко дергает сишных либ...

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 25-Мрт-19 23:26 
Здесь дело не в языке, на котором написана та или иная реализация, а в подходе. Здесь JIT, который позволяет иногда значительно ускорить исполнение. Это как C/C++ и Java/C#: первая пара быстрее, но за счёт того, что у второй пары есть JIT, это делает их быстрее, т.к. они подстраиваются под конкретную платформу, на которой исполняется код, в то время как C/C++ приходится шипить лишь с общим набором инструкций.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 08:30 
Такого смешного и профанского объяснения почему jit быстрее статическию скомаиленного кода я ещё не видел. Спасибо вы сделали мой день. Побольше бы вас таких и уменя всегда будет работа.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 13:41 
Ну так а в чём он не прав? Если вы компилите для себя, то да C/C++ конечно будет быстрее. Но если вы собираетесь продавать, то там у каждого свой процессор и свой набор инструкций, поэтому и приходится компилить с общим набором инструкций. Тут то JIT и выходит на сцену

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Евгений , 30-Мрт-19 12:03 
Ржака :)

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено нех , 26-Мрт-19 14:05 
и возможно, когда-нибудь вы накопите на репетитора по русскому языку.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним84701 , 26-Мрт-19 13:16 
>> при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython).
> Это просто магия какая-то. А как же утверждение, что нет ничего быстрее  С? Как такое возможно?

Интерпретатор bash написан на си, значит принципиально ничего не может быть быстрее bash? o_O
Кстати, утверждение довольно новомодно -- есть еще "ничего нет быстрее ассемблера", "ничего нет быстрее опкодов", ... , "ничего нет быстрее бабочек!".


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено helgi , 26-Мрт-19 13:38 
Быстрота бабочек заключается в отсутствии лишних движений, а не в скорости передвижения )

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Amphyby , 26-Мрт-19 14:53 
просто на любом языке можно писать как на пихоне. так и получаются уродства медленные на плюсах

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 18:34 
Тс-с-с! товарищ! Оптимизацией займёмся позже, а пока пишем, что душе угодно.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено pvv , 28-Мрт-19 17:34 
на питоне написан jit компилятор, который преобразует код на питоне сразу в машинный код.
и его быстродействие не зависит от того на чём оно написано (именно выполнение, а не компиляция)
а на Си написан интерпретатор, (возможно в промежуточный байт-код какой-нибудь виртуальной машины, хз что там у питона внутри). и он естественно работает медленнее, но не потому что написан на С.



"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Alexey , 25-Мрт-19 22:52 
Почему магия? Если хитро программировать, то и assembler будет медленным

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 11:34 
Если программировать, как учат на специальности "программирование".

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 18:35 
Точно! Не надо в профильный вуз, а надо в кулинарный техникум (есть ещё такие?) -- там уж научитесь между рецептами котлеток и солянок (суп это, между прочим, а не тушёная капуста :).

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 20:29 
> Точно! Не надо в профильный вуз, а надо в кулинарный техникум (есть ещё такие?

А ты не смейся. У нас тут ЕАИС от профессиональных сертифицированных программистов с лапшекодом внутри и полной невозможностью запиливания сканера полиса ОМС. Падает на любой неосторожный чих и синхронизируется флешкой силами (ногами) специально обученной девочки-эникейщицы.

Извините, накипело.


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 26-Мрт-19 07:16 
Судя по новости про Pyright нужно было переписать на ES и тогда оно будет в 10 раз быстрее работать.

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено vdb , 26-Мрт-19 12:11 
И жрать в 10 раз больше памяти?

"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено chmodder , 27-Мрт-19 07:23 
> Сделали UTF

Шёл 2019 год...


"Релиз PyPy 7.1, реализации Python, написанной на языке Pytho..."
Отправлено nobody , 27-Мрт-19 10:31 
> Сделали UTF

8

И что? В жаве и винде вот до сих пор не сделали


"Каво, шо"
Отправлено Неадекват , 20-Дек-19 22:42 
Это где это в жабе нет utf-8?
В какой версии застрял?