rilascio del progetto , nell'ambito dello sviluppo di un'implementazione del linguaggio Python, scritta in Python stesso (utilizza un sottoinsieme staticamente tipizzato , Python ristretto). La versione è stata preparata contemporaneamente per i rami PyPy2.7 e PyPy3.6, supportando la sintassi di Python 2.7 e Python 3.6. La release è disponibile per Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 o ARMv7 con VFPv3), macOS (x86_64), OpenBSD, FreeBSD e Windows (x86).
Una caratteristica distintiva di PyPy è l'uso di un compilatore JIT, che trasforma al volo alcuni elementi in codice macchina, consentendo di garantire un livello di prestazioni — nell'esecuzione di alcune operazioni, PyPy supera di diverse volte l'implementazione classica di Python in C (CPython). Il prezzo di alte prestazioni e dell'uso della compilazione JIT è un maggiore consumo di memoria — il consumo totale di memoria in processi complessi e a lungo termine (ad esempio, durante la traduzione con PyPy stesso) supera di un'ora e due volte quello di CPython.
La nuova versione è caratterizzata dalla stabilizzazione del supporto per Python 3.6, che in precedenza era in uno stato beta, e dall'implementazione del JIT per l'architettura Aarch64 (ARM64). È stato inoltre aggiunto un nuovo decoder JSON, che è significativamente più veloce, utilizza meno memoria ed è ottimizzato per il JIT. Il modulo CFFI 1.13 (Interfaccia di Funzione Esterna C) è stato aggiornato, con un'interfaccia per chiamare funzioni scritte in C e C++. Si raccomanda l'uso di CFFI per interagire con il codice C, mentre cppyy è indicato per il codice C++. Nella branch PyPy2.7 è stato riportato indietro il modulo _ssl basato su CFFI. I moduli _hashlib e _crypt sono stati portati a utilizzare CFFI.
Fonte: opennet.ru
