Релиз PyPy 7.2, реализации Python, написанной на языке Python

Сформирован релиз проекта PyPy 7.2, в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7 и PyPy3.6, обеспечивающих поддержку синтаксиса Python 2.7 и Python 3.6. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 или ARMv7 с VFPv3), macOS (x86_64), OpenBSD, FreeBSD и Windows (x86).

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

Новый выпуск примечателен стабилизацией поддержки Python 3.6, которая ранее имела статус бета-версии, и реализацией JIT для архитектуры Aarch64 (ARM64). Также добавлен новый декодировщик JSON, который значительно быстрее, использует меньше памяти и оптимизирован для JIT. Обновлён модуль CFFI 1.13 (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языках Си и C++. CFFI рекомендован для взаимодействия с кодом на Си, в то время как cppyy для кода на C++. В ветку PyPy2.7 бэкпортирован модуль _ssl на базе CFFI. На использование CFFI переведены модули _hashlib и _crypt.

Источник: opennet.ru

Добавить комментарий