rilascio del progetto , nell'ambito del quale si sviluppano le implementazioni del linguaggio Python, scritto in Python (viene utilizzato un sottoinsieme staticamente tipizzato , Python ristretto). Il rilascio è stato preparato contemporaneamente per le versioni PyPy2.7 e PyPy3.6, che forniscono supporto per la sintassi di Python 2.7 e Python 3.6. Il rilascio è 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 del compilatore JIT, che traduce al volo alcuni elementi in codice macchina, permettendo di garantire un livello di prestazioni — nell'esecuzione di alcune operazioni, PyPy supera di diversi ordini di grandezza l'implementazione classica di Python in C (CPython). Il costo 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 di PyPy da parte dello stesso PyPy) supera di circa un uno e mezzo o due volte quello di CPython.
Il nuovo rilascio si distingue per la stabilizzazione del supporto per Python 3.6, che in precedenza aveva uno stato beta, e per l'implementazione del JIT per l'architettura Aarch64 (ARM64). È stato anche aggiunto un nuovo decodificatore JSON, che è significativamente più veloce, utilizza meno memoria ed è ottimizzato per JIT. Il modulo CFFI 1.13 (C Foreign Function Interface) è stato aggiornato con implementazione dell'interfaccia per chiamare funzioni scritte in C e C++. CFFI è raccomandato per l'interazione con il codice in C, mentre cppyy è per il codice in C++. Nella versione PyPy2.7 è stato retroportato il modulo _ssl basato su CFFI. I moduli _hashlib e _crypt sono stati convertiti per utilizzare CFFI.
Fonte: opennet.ru
