The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз PyPy 2.0, реализации Python, написанной на языке Python "
Отправлено opennews, 10-Май-13 23:11 
Доступен (http://morepypy.blogspot.co.uk/2013/05/pypy-20-einstein-sand...) релиз проекта PyPy 2.0 (http://pypy.org/), в рамках которого разрабатывается реализации языка Python, написанная на языке Python (используется статически типизированное подмножество RPython (http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#re...), Restricted Python).

Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python 2.7 на языке Си (CPython). В среднем PyPy 2.0 на 4% быстрее (http://speed.pypy.org/) PyPy 1.9 и в 5.7 раз быстрее классического CPython 2.7.3. Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.
<center><a href="http://speed.pypy.org/"><img src="https://www.opennet.ru/opennews/pics_base/0_1368210321.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>


Стабильный релиз поддерживает x86-системы, включая Linux (32/64 бит), Mac OS X (64 бит) и Windows (32 бит). Одновременно проходит (http://morepypy.blogspot.co.uk/2013/05/pypy-20-alpha-for-arm...) альфа-тестирование вариант PyPy 2.0 для платформы ARM. Выпуск для ARM позиционируется как ознакомительный, так как версия для данной платформы ещё не совсем стабильна и не поддерживает некоторые возможности. В частности, ещё не реализована поддержка  бесстекового режима и JIT не всегда корректно генерирует ассемблерный код. PyPy для ARM доступен для ARMv6 (Raspberry Pi) и ARMv7 (Beagleboard, Chromebook, Cubieboard) в режимах hard-float и soft-float.

Новшества, добавленные в PyPy 2.0:


-  Бесстековый режим доведён до работоспособного состояния. В том числе обеспечена поддержка элементов системы многопоточного программирования "greenlet (http://greenlet.readthedocs.org/)", а также возможность использования eventlet и gevent;

-  В состав PyPy включён новый встроенный модуль cffi (http://cffi.readthedocs.org/) с реализацией интерфейса для вызова функций, написанных на языке Си. Данный интерфейс позиционируется как рекомендуемый метод обращения к функциям на языке Си;
-  Для обратных вызовов Python функций из Си-кода теперь применяется JIT-компиляция, что, например, позволило значительно ускорить выполнение модуля парсинга XML;
-  Проведён рефакторинг JIT-компилятора для генерации машинного кода, оперирующего областями в куче, вместо стека. Подобное изменение позволило обеспечить работу  бесстекового режима и открыло новые пути дальнейшей оптимизации;

-  Переработана большая часть классов для работы с массивами из состава библиотеки numpypy, что позволило избавиться от лишних вычислений. Подготовлена более полная реализация dtype и обеспечена поддержка дополнительных атрибутов массивов;

-  Внесено множество оптимизаций производительности;


. On the other hand, we now have more complete dtype support and support more array attributes.

Основные особенности 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, JavaScript, Io и Scheme.


URL: http://morepypy.blogspot.co.uk/2013/05/pypy-20-einstein-sand...
Новость: https://www.opennet.ru/opennews/art.shtml?num=36904

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру