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

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

Отправлено opennews , 11-Июн-12 00:15 
Доступен (http://morepypy.blogspot.com/2012/06/pypy-19-yard-wolf.html) релиз проекта PyPy 1.9 (http://pypy.org/), в рамках которого разрабатывается реализации языка Python, написанная на языке Python (используется статически типизированное подмножество RPython (http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#re...), Restricted Python). Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython).


В новом выпуске, отмечено исправления ошибок, улучшение совместимости с Python-проектами, значительный прогресс (http://buildbot.pypy.org/numpy-status/latest.html) в обеспечении поддержки библиотекой для проведения научных расчётов numpypy, улучшение поддержки платформ Windows и Mac OS X, продолжение развития бэкэндов JIT для архитектур ARMv7 и PPC64. Из новшеств можно выделить  реализацию метода мультиплексирования соединений select.kqueue с использованием механизма kqueue из FreeBSD и поддержку создания и манипулирования Си-подобными структурами, используя только модуль _ffi, который в отличие от ctypes более оптимален для работы JIT.


Кроме того, продолжена работа по увеличению производительности и снижению потребления памяти. В среднем PyPy 1.9 на 4% быстрее (http://speed.pypy.org/) PyPy 1.8 и в 5.5 раз быстрее классического CPython 2.7.2. Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.
<center><a href="http://speed.pypy.org/"><img src="http://www.opennet.me/opennews/pics_base/33053_1328947713.pn... style="border-style: solid; border-color: rgb(233, 234, 214); border-width: 15px;" title="" border="0"></a></center>


Основные особенности 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 и ARMv7. Ведется работа по адаптации для архитектуры PowerPC (PPC64), но она ещё не завершена;

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

-  На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, JavaScript, Io и Scheme.


URL: http://morepypy.blogspot.com/2012/06/pypy-19-yard-wolf.html
Новость: http://www.opennet.me/opennews/art.shtml?num=34070


Содержание

Сообщения в этом обсуждении
"python3"
Отправлено Аноним , 11-Июн-12 00:15 
а поддержка python3 есть?

"python3"
Отправлено Хм8230 , 11-Июн-12 09:51 
>PyPy может быть использован для бесшовной замены CPython 2.7;

Чукча не читатель, чукча — писатель?


"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 00:21 
А где STM? Сколько еще ждать?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 01:04 
а чё это такое?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 01:25 
http://ru.wikipedia.org/wiki/Программная_транзакционная_память

Вроде обещали запилить


"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено user , 11-Июн-12 10:22 
Он в эксперементальном бранче. Но пока  производительность от него только падает.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Sauron , 11-Июн-12 00:31 
>Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу, но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС);

А вот это хреново!


"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 00:45 
Все нормально. Запускаете по интерпретатору на каждое ядро и общаетесь через очереди или пайпы.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Тузя , 11-Июн-12 07:52 
Node.js-подобная фигня или я что-то путаю?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено 1 , 12-Июн-12 09:31 
ты путаешь

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 00:59 
Тот же GIL, только в профиль. И те же способы борьбы с ним.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 01:05 
надо пологать, предлашаешь на каждый питонообъект повесить по мьютексу?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Crazy Alex , 11-Июн-12 03:27 
Абсолютно не представляю внутренности питона - но erlang именно за счёт изоляции потоков и сообщений как единственного механизма обмена между ними не требует вешать мьютексы куда попало. Интересно, почему здесь так нельзя.

P.S. А вообще - иметь какой-нибудь нормальный язык a-la erlang (с той же многопроцессной моделью и таким же тщательно вылизанным окружением от мониторинга до деплоя и апдейтов), но с нормальными локальными переменными было бы счастьем...


"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Amper , 11-Июн-12 04:51 
Elixir  -  http://elixir-lang.org/

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Crazy Alex , 11-Июн-12 22:10 
В нём иммутабельные переменные

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено user , 11-Июн-12 10:17 
Причем здесь внутренности? Erlang чистый функциональный язык, а питон мультипарадигменный. Надоели придирки к gil.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Crazy Alex , 11-Июн-12 22:14 
А при чём парадигма к GIL? Если у вас модель share-nothing - зачем здесь GIL? Но, вероятно, вариант share-nothing для питона почему-то не подошел.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 11:13 
ernang так может делать лишь только из-за того, что он не GP яык и накладывает ряд ограничений на то что и как можно делать. И, кстати, это далеко не всегда эффективно, скорее фича распараллеливания для лентяев без прогнозируемого результата

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Crazy Alex , 11-Июн-12 22:12 
Хм.. Это для меня что-то новенькое. И насчёт ограничений и насчёт "без прогнозируемого результата". Подробнее можно?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено hummermania , 11-Июн-12 10:03 
кстати так и не понял про оговорку "(в отличии от erlang)...". В erlang VM тоже не плодятся множество физических потоков. Они плодятся как минимум по количеству ядер, бывает немного больше, но в этой фразе подано так как будто "минипоток Эрланга = физический поток".

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Crazy Alex , 11-Июн-12 22:16 
Больше того - Erlang VM много лет вполне комфортно жила, будучи однопоточной - но там, конечно, интеграция нод очень удобна и вариант "по VM на ядро" никаких проблем не создаёт.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 07:22 
Почему такая странная нумерация версий? Не понять, синтаксис какой ветки он поддерживает

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Анон , 11-Июн-12 08:40 
Вовсе не странная. Это отдельный продукт, его не должны нумеровать шаг в шаг с cpython.

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 11:10 
если взять и прочитать текст новости, то станет ясно с какой веткой он совместим

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 09:37 
Всё ещё нужно 4 GiB RAM, чтобы его собрать?

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Ононим , 11-Июн-12 16:04 
Необязательно, можно 8, 12, 16...

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено Аноним , 11-Июн-12 09:58 
надеюсь, когда-нибудь pypy станет мейнстримом

"Релиз PyPy 1.9, реализации Python, написанной на языке Pytho..."
Отправлено meow , 13-Июн-12 01:54 
> но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС

что значит в отличии? erlang изначально обрабатывал всё в одном физическом потоке (кроме операцию i/o). режим smp с множеством потоков появился не так давно и это очень большое преимущество над всеми остальными платформами. "в отличии" несет негативный оттенок, что в корне неверно.