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

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

Отправлено opennews , 23-Сен-14 09:48 
Доступен (http://morepypy.blogspot.ru/2014/09/pypy-240-released-9-days...) релиз PyPy 2.4 (http://pypy.org/), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python). Версия PyPy 2.4 примечательна переработкой кода GIL-блокировки и переходом на использование в качестве целевой версии языка  Python  2.7.8 (https://www.opennet.ru/opennews/art.shtml?num=40119) (ранее поддерживалась 2.7.6). Кроме того, в код внесены очередные оптимизации - новый выпуск в среднем на 4% быстрее (http://speed.pypy.org/) прошлой версии PyPy и в 6.3 раза быстрее классического CPython 2.7. Выпуск доступен для x86-систем  Linux 32/64, OpenBSD, Mac OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3).

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

Новшества (http://doc.pypy.org/en/latest/release-2.4.0.html), добавленные в PyPy 2.4:

-  Проведён внутренний рефакторинг кода обработки строк и байтовых массивов (bytearray). Переписана реализация глобальной блокировки интерпретатора (GIL, global interpreter lock), не позволяющей обеспечить параллельное выполнение нескольких нитей кода на языке Python. Изменения позволили увеличить производительность обработки строк в некоторых ситуациях и существенно поднять производительность при выполнении внешних вызовов, в том числе при выполнение модулей СFFI, реализованных с использованием интерфейса для вызова функций, написанных на языке Си.
-  Улучшена обработка серий объектов, таких как сокеты, в длительно выполняемых процессах. В итоге удалось добиться сокращения потребления памяти за счёт повышения эффективности сбора и высвобождения подобных объектов;
-   Стандартные библиотеки Python обновлены с 2.7.6 до версии 2.7.8;
-  В сборках для платформы Windows обеспечено статическое связывание с zlib, expat, bzip и openssl-1.0.1i.

Основные особенности PyPy:

-  Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу, но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС);

-  Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.

-  Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;

-  PyPy успешно проходит стандартный тестовый пакет Python и поддерживает (http://pypy.org/compat.html) большинство из стандартных Python-модулей и фреймворков, таких как ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet. PyPy может быть использован для бесшовной замены CPython 2.7;

-  Поддержка работы на архитектурах x86 (IA-32) , x86_64 и ARM. Ведется работа по адаптации для архитектуры PowerPC (PPC64), но она ещё не завершена;

-  На базе технологий PyPy созданы бэкенды для генерации в PyPy байткода для LLVM и виртуальных машин .NET/CLI и Java.

-  На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.
-  Версия PyPy с поддержкой Python 3 развивается в рамках проекта  Py3k (https://www.opennet.ru/opennews/art.shtml?num=40050);
-  Вариант PyPy с поддержкой распараллеливания на многоядерных системах развивается в рамках проекта PyPy-STM (https://www.opennet.ru/opennews/art.shtml?num=40150) (PyPy Software Transactional Memory).


URL: http://morepypy.blogspot.ru/2014/09/pypy-240-released-9-days...
Новость: https://www.opennet.ru/opennews/art.shtml?num=40652


Содержание

Сообщения в этом обсуждении
"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 10:19 
>> общее потребление памяти в сложных и длительно работающих процессах превышает потребление CPython в полтора-два раза.

Ява приложения в таких случаях потребляют примерно в 3 раза больше памяти чем Cpython.


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 12:14 
Толсто

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 12:25 
в среднем, в 3 раза больше
http://benchmarksgame.alioth.debian.org/u64q/python.php

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Варикоз , 23-Сен-14 14:01 
но и цпу важ в 76 раз больше...

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 17:59 
Бидон не тормозит. Если у тебя в 76 раз больше CPU.

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 24-Сен-14 10:21 
Во первых там для особо одаренных написано что многое зависит от алгоритма решения определенного теста.

Во вторых среднее по времени всех тестов 25Х, учитывая что PYPY в текущем виде в 6,7 раз быстрее стандартной версии Python(CPython)? который в тесте, и при этом потребляет в 3 раза меньше памяти, уже не видны плюсы Java.


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 24-Сен-14 10:39 
> Во вторых среднее по времени всех тестов 25Х,

"А если вот так посмотреть - то вовсе даже и не кривой".


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено annualslayer , 23-Сен-14 12:27 
а кто-нибудь кроме Quora юзает его в продакшене?

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 17:31 
Рдио кажется.

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Andrey Mitrofanov , 23-Сен-14 17:49 
> а кто-нибудь кроме Quora юзает его в продакшене?

Во, https://mail.python.org/pipermail/pypy-dev/2011-October/0087...
настоящий саксесс стори, с +200%. "Академический".

---
А так, да _все ищут. pypy.org ищет, гугль ищет... https://www.google.com/search?q=pypy+in+production


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено annualslayer , 24-Сен-14 11:00 
> А так, да _все ищут. pypy.org ищет, гугль ищет... https://www.google.com/search?q=pypy+in+production

у меня по этому запросу только про квору показало



"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено qqq , 23-Сен-14 14:41 
кто реально разрабатывал на py-py: отпишитесь пожалуйста, как оно.

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 14:50 
А вот PyQt в нём по прежнему не работает (

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 16:23 
Для длительно работающих прог на python может быть очень кстати. fail2ban тут не в тему ли?

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 18:00 
> fail2ban тут не в тему ли?

Да, его уже переписали на си, чтобы не #$%ть себе мозг двадцатью видами интерпретаторов и как они не тормозят.



"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено chinarulezzz , 23-Сен-14 18:24 
инфа от инсайдера? %)

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 24-Сен-14 15:56 
> инфа от инсайдера? %)

Ага, тынц http://sourceforge.net/projects/mf2b/ - один инсайдер.
А вот еще тынц - https://forum.openwrt.org/viewtopic.php?id=32685

Как ты понимаешь, ставить кучу бидонятины на роутер - ну вообще совсем не в кассу, а вот ssh от брутфорсеров прикрыть - вполне жизненная задача.


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено chinarulezzz , 24-Сен-14 22:54 
так «переписали на си, чтобы не #$%ть себе мозг двадцатью видами интерпретаторов и как они не тормозят» или написали легковесную реализацию fail2ban для embedded?

ты агитируешь чтоб сразу все писали на Си, тогда дескать проблем с встраиваимыми устр-вами не будет? :-D


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Andrey Mitrofanov , 23-Сен-14 18:41 
> Для длительно работающих прог на python может быть очень кстати. fail2ban тут
> не в тему ли?

Ты знал!   http://www.fail2ban.org/wiki/index.php/Requirements

"""
Requirements
Required
The only required dependency needed to run Fail2ban is Python. You need:
    0.9 branch
        Python >=2.6, Python >=3.2, PyPy
    0.8 branch (>=0.8.2)
        Python >=2.4
    0.8 branch (<0.8.2)
        Python >=2.3


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено softfire , 23-Сен-14 16:46 
> > > но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС)

Что за бред? В Эрланге легковесные процессы. Они не имеют ничего общего с потоками ОС. И что вообще за термин "физический поток"?


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Andrey Mitrofanov , 23-Сен-14 17:15 
>И что вообще за термин "физический поток"?

Это из теории струн. А нет, струй.


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 17:31 
Физики струячат :) (R)

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 18:01 
Нужно больше недопиленных и несовместимых между собой реализаций бидона, милорд!

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Аноним , 23-Сен-14 19:46 
Сколько террабайт памяти нужно, чтобы его собрать?

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Гость , 24-Сен-14 06:10 
я так понимаю надо начинать ждать РуРуРУ ?  не ?

"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Andrey Mitrofanov , 24-Сен-14 10:04 
> я так понимаю надо начинать ждать РуРуРУ ?  не ?

Зачем-зачем?

"""For building PyPy, we recommend installing a pre-built PyPy first [...]. It is possible to build PyPy with CPython, but it will take a lot longer to run – depending on your architecture, between two and three times as long.


"Выпуск PyPy 2.4, реализации Python, написанной на языке Pyth..."
Отправлено Гость , 24-Сен-14 06:11 
Вот дом, который построил Джек....

;)