Реліз 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

Додати коментар або відгук