The OpenNET Project / Index page

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



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

Исходное сообщение
"Выпуск PyPy 5.0, реализации Python, написанной на языке Python "
Отправлено opennews, 11-Мрт-16 09:28 
Состоялся (http://morepypy.blogspot.ru/2016/03/pypy-50-released.html) релиз PyPy 5.0 (http://pypy.org/), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python).  Новый выпуск примечателен значительным увеличением (http://speed.pypy.org/) производительности, он в среднем на 1% быстрее прошлой версии PyPy и в 9.2 раз быстрее классического CPython 2.7.  Выпуск доступен для x86-систем  Linux 32/64, OpenBSD, FreeBSD, OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3) и PowerPC (ppc64).


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


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

-  Продолжена работа по оптимизации использования метаданных в JIT-компиляторе.  Разогрев JIT (warmup) теперь выполнятся на 30% быстрее, потребляя на 30% меньше памяти;


-  Обновлён C-API (cpyext). Новый cpyext отличается значительным увеличением производительности и упрощением взаимодействия между объектами на языке Си и объектами на уровне интерпретатора PyPy. Реализован (http://morepypy.blogspot.com/2016/02/c-api-support-update.html) более стабильный метод создания объектов PyObjects в cpyext. В результате, новый cpyext позволил добиться успешного прохождения всех тестов (https://bitbucket.org/pypy/compatibility/wiki/lxml) библиотекой lxml, собранной со всеми компонентами cython;

-  Система профилирования vmprof (http://vmprof.readthedocs.org/) адаптирована для работы на различных платформах. Кроме Linux,
vmprof теперь может применяться в OS X и Windows, поддерживается работа как с  PyPy, так и с CPython.


-  До версии 1.5ю2 обновлён модуль CFFI (https://cffi.readthedocs.org/en/latest/) (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю  ctypes (http://python.net/crew/theller/ctypes/). В новой версии появилась возможность встраивания PyPy или CPython в программы на языке Си;

-  По аналогии с CPython по умолчанию в операциях с файловой системой теперь используется кодировка ASCII;
-  Для создания тестов задействована библиотека hypothesis (http://hypothesis.readthedocs.org/);
-  Расширены возможности интегрированной математической библиотеки Numpy, в которой добавлена возможность индексированной фильтрации двоичных массивов ndarray и частично реализована поддержка функции partition();

-  Проведены многочисленные оптимизации: ускорены операции соединения строк, оптимизирован поиск глобальных переменных, в 15 раз ускорены операции распаковки чисел с типами float и double, на 50% ускорена распаковка целочисленных типов, оптимизирован поиск в mapdic, значительно увеличена производительность re.sub().

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

-  Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (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/2016/03/pypy-50-released.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=44025

 

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



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

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