Sortie de PyPy 7.2, une implémentation Python écrite en Python

Formé lancement du projet PyPy 7.2, au sein duquel une implémentation du langage Python écrite en Python est développée (en utilisant un sous-ensemble typé statiquement Python, Python restreint). La version est préparée simultanément pour les branches PyPy2.7 et PyPy3.6, offrant la prise en charge de la syntaxe Python 2.7 et Python 3.6. La version est disponible pour Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 ou ARMv7 avec VFPv3), macOS (x86_64), OpenBSD, FreeBSD et Windows (x86).

Une particularité de PyPy est l'utilisation d'un compilateur JIT, qui traduit certains éléments en code machine à la volée, ce qui permet de fournir haut niveau de performance - lors de l'exécution de certaines opérations, PyPy est plusieurs fois plus rapide que l'implémentation classique de Python en langage C (CPython). Le prix des hautes performances et de l'utilisation de la compilation JIT est une consommation de mémoire plus élevée - la consommation totale de mémoire dans les processus complexes et de longue durée (par exemple, lors de la traduction de PyPy à l'aide de PyPy lui-même) dépasse la consommation de CPython d'un an et demi à deux. fois.

La nouvelle version se distingue par la stabilisation de la prise en charge de Python 3.6, qui était auparavant en version bêta, et par la mise en œuvre de JIT pour l'architecture Aarch64 (ARM64). Un nouveau décodeur JSON est également ajouté, nettement plus rapide, utilise moins de mémoire et optimisé pour JIT. Le module CFFI 1.13 (C Foreign Function Interface) a été mis à jour avec l'implémentation d'une interface d'appel de fonctions écrites en C et C++. CFFI est recommandé pour interagir avec le code C, tandis que cppyy est recommandé pour interagir avec le code C++. Le module _ssl basé sur CFFI a été rétroporté vers la branche PyPy2.7. Les modules _hashlib et _crypt ont été convertis pour utiliser CFFI.

Source: opennet.ru

Ajouter un commentaire