Erstellt Projektveröffentlichung , im Rahmen dessen die Implementierungen der Programmiersprache Python entwickelt werden, die in Python geschrieben ist (ein statisch typisiertes Teilmenge wird verwendet , Restricted Python). Die Veröffentlichung wurde gleichzeitig für die Versionen PyPy2.7 und PyPy3.6 vorbereitet, die die Syntax von Python 2.7 und Python 3.6 unterstützen. Die Veröffentlichung ist für Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 oder ARMv7 mit VFPv3), macOS (x86_64), OpenBSD, FreeBSD und Windows (x86) verfügbar.
Ein besonderes Merkmal von PyPy ist die Verwendung eines JIT-Compilers, der zur Laufzeit einige Elemente in Maschinencode übersetzt, was eine hohe Leistung ermöglicht — bei der Ausführung bestimmter Operationen übertrifft PyPy die klassische Implementierung von Python in C (CPython) um ein Vielfaches. Der Preis für die hohe Leistung und den Einsatz von JIT-Compilierung ist ein höherer Speicherbedarf — der gesamte Speicherverbrauch in komplexen und langlaufenden Prozessen (zum Beispiel beim Übersetzen von PyPy selbst) überschreitet den Verbrauch von CPython um das eineinhalb- bis zweifache.
Zu den Änderungen in der neuen Version gehört das Update der CFFI-Module 1.13.1 (C Foreign Function Interface) und cppyy 1.10.6 mit Implementierung der Schnittstelle zum Aufruf von Funktionen, die in C und C++ geschrieben sind (CFFI wird empfohlen für die Interaktion mit C-Code, und cppyy für C++-Code). Eine neue Version des Pakets pyrepl mit einer interaktiven Shell ist enthalten .
Die Optimierung der Codeleistung, die für die Verarbeitung von Zeichenfolgen und die Manipulation mit Unicode verantwortlich ist, wurde durchgeführt.
Für die Windows-Plattform wurde die Unterstützung für das Codieren und Decodieren verschiedener Textkodierungen hinzugefügt. Die Unterstützung für OpenSSL 1.1 und TLS 1.3 wurde implementiert.
Quelle: opennet.ru
