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

Исходное сообщение
"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."

Отправлено opennews , 13-Окт-16 10:58 
Доступен (https://morepypy.blogspot.ru/2016/10/pypy3-550-released.html) выпуск PyPy3 5.5.0 (http://pypy.org/download.html), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Ветка PyPy3 развивается синхронно с PyPy и отличается поддержкой Python 3. В частности, если выпуск PyPy обеспечивает поддержку языка Python 2.7.10, то PyPy3 предоставляет реализацию Python 3.3.5. Выпуск доступен для  Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS и Windows.

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

В новой версии проведена работа по улучшению совместимости с веткой Python 3.3 (3.3.5). Добавлена поддержка функций os.get_terminal_size(), time.monotonic(), str.casefold() и модуля faulthandler. В состав включён пакет ensurepip. Улучшен интерфейс для работы с буферами. Внесены улучшения в JIT. Началась работа по поддержке Python 3.5.


URL: https://morepypy.blogspot.ru/2016/10/pypy3-550-released.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=45317


Содержание

Сообщения в этом обсуждении
"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Rodegast , 13-Окт-16 10:58 
> Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти

JIT он такой: одно лечит, другое калечит...


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 17:06 
Такова природа алгоритмов. Довольно редко бывает, что эффективности можно добиться без использования памяти.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 17:34 
Надеюсь это сказал прожжённый ассемблерщик, знающий как сделать на такт быстрее и на байт меньше.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено all_glory_to_the_hypnotoad , 13-Окт-16 17:43 
на самом деле такое бывает часто. Даже бывает наоборот, т.е. нужно уменьшить кол-во используемой памяти чтобы увеличить производительность. И если бы питон не был таким дерьмом внутри, то существовали бы намного более эффективные методы оптимизаций чем JIT.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 14-Окт-16 05:52 
> И если бы питон не был таким дерьмом внутри

Ругать работу коллег-сишников жутко непрофессионально. Я почему-то уверен, что в реальной жизни Вы так не поступаете. Сам-то много не-дерьма насоздавал, а? Как насчет пары ссылочек на свои перлы прямо сейчас?


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено all_glory_to_the_hypnotoad , 14-Окт-16 17:45 
> Ругать работу коллег-сишников жутко непрофессионально.

А не си-шников можно? Ох уж эти шовинисты-нравоучители. В наше время рукожопых людей просто необходимо чморить, унижать и всячески демотивировать ибо в противном случае они превращаются в инициативных идиотов и начинают наносить всем вред.

> Я почему-то уверен, что в реальной жизни Вы так не поступаете.

По себе, двуличному шовинисту, судишь?


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено myhand , 14-Окт-16 21:14 
Что же такого "дерьмового" в синтаксисе Python (ничем принципиально не отличающимся от 100500 других динамических ЯП), что ему заказаны "эффективные методы оптимизаций" (тм), кроме JIT?

Кстати, какие именно методы, для самообразования?


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним84701 , 13-Окт-16 11:21 
> реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python)

Используется питон, которые не совсем питон ...
Почему бы не писать просто про RPython (--- пояснение про RPython и про то, что там вообще-то Сишный бэкэнд, т.е. генерируется сишный код ;) --- ), а то эта копипаста уже года четыре из новости в новость кочует и каждый раз притягивает претендентов на звание Истинного Петросяна, с унылыми^W искрометно-юморными шутками про "питон, который на питоне, который на питоне надо было писать"


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено антоним , 13-Окт-16 13:34 
Доступен выпуск Python, реализации языка Python, написанной на языке Python (используется статически типизированное подмножество Python).

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 13:36 
Go одним словом, только хуже.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Наркоман , 13-Окт-16 13:53 
Но всё равно лучше питона, да.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Crazy Alex , 13-Окт-16 14:58 
Только лучше, вы хотели сказать

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено vitalif , 13-Окт-16 17:12 
...причём на amd64 это Go медленнее PyPy на вот этом https://github.com/famzah/langs-performance простеньком бенчмарке, буквально вчера тестил

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 19:11 
Ну как Java в ущерб памяти.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 19:30 
на числах Фибоначчи совсем другие результаты.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено angra , 14-Окт-16 04:16 
В этом бенчмарке достаточно сделать тривиальную оптимизацию заменив s := []int{} на s := make([]int, 0, n/2) и Go выдаст на 25% больше строчек, что как раз равно разнице между ним и pypy  в https://github.com/famzah/langs-performance/blob/master/resu...
Если заменить проход по s с помощью range на классический Cишный вариант, то получим еще 10%, а это уже победа. Замечу, что обе эти оптимизации не трогают алгоритм.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено vitalif , 14-Окт-16 16:04 
ну массив заранее там для многих языков можно выделить, и везде это, естественно, что-то улучшает. nodejs тоже в полтора раза ускоряется с выделением заранее.

вопрос в том чтобы честно сравнить, на одинаковых операциях...


"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено angra , 14-Окт-16 22:03 
То есть ты предлагаешь намеренно неэффективный код на Go сравнить с оптимизациями PyPy? Ну ок, PyPy победил в этой номинации, только не надо из этого делать вывод, что он быстрее Go в реальных задачах.

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Аноним , 13-Окт-16 14:26 
Было бы хорошо если бы, 3.5, но они наверное не догонят

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Lhatsad , 13-Окт-16 22:28 
Тормозной язык переписанный на тормозном языке цитирую "позволяет обеспечить высокий уровень производительности". Вот они - чудеса хакерской маетматики!

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено Vlad Violenty , 13-Окт-16 22:32 
Как PyPy в длинной арифметике по сравнению с python?

"Выпуск PyPy3 5.5, реализации Python 3, написанной на языке P..."
Отправлено myhand , 14-Окт-16 21:09 
Примерно также, как и у CPython - они используют умножение Карацубы для bigint с числом цифирь выше некоторого предела.  В противном случае - "школьное" умножение O(n**2).

Хочите чудес - используйте библиотеки, написанные профи в предмете.  Для CPython есть обертка gmpy2 (для GMP).  Как у ей с cffi - не знаю.

PS: А не, вот есть уже gmpy_cffi для pypy.