Veröffentlichung von PyPy 7.2, einer in Python geschriebenen Python-Implementierung

Gebildet Projektfreigabe PyPy 7.2, innerhalb dessen eine in Python geschriebene Implementierung der Python-Sprache entwickelt wird (unter Verwendung einer statisch typisierten Teilmenge). Python, eingeschränktes Python). Die Veröffentlichung wird gleichzeitig für die Zweige PyPy2.7 und PyPy3.6 vorbereitet und bietet Unterstützung für die Syntax von Python 2.7 und Python 3.6. 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.

Eine Besonderheit von PyPy ist die Verwendung eines JIT-Compilers, der einige Elemente im laufenden Betrieb in Maschinencode übersetzt, der Ihnen die Bereitstellung ermöglicht hoch Leistungsniveau – Bei der Ausführung einiger Operationen ist PyPy um ein Vielfaches schneller als die klassische Implementierung von Python in der C-Sprache (CPython). Der Preis für hohe Leistung und den Einsatz der JIT-Kompilierung ist ein höherer Speicherverbrauch – der Gesamtspeicherverbrauch in komplexen und lang laufenden Prozessen (z. B. bei der Übersetzung von PyPy mit PyPy selbst) übersteigt den Verbrauch von CPython um eineinhalb bis zwei mal.

Die neue Version zeichnet sich durch die Stabilisierung der Unterstützung für Python 3.6, das sich zuvor im Beta-Status befand, und die Implementierung von JIT für die Aarch64 (ARM64)-Architektur aus. Außerdem wurde ein neuer JSON-Decoder hinzugefügt, der deutlich schneller ist, weniger Speicher benötigt und für JIT optimiert ist. Das Modul CFFI 1.13 (C Foreign Function Interface) wurde mit der Implementierung einer Schnittstelle zum Aufrufen von in C und C++ geschriebenen Funktionen aktualisiert. CFFI wird für die Zusammenarbeit mit C-Code empfohlen, während cppyy für die Zusammenarbeit mit C++-Code empfohlen wird. Das CFFI-basierte _ssl-Modul wurde in den PyPy2.7-Zweig zurückportiert. Die Module _hashlib und _crypt wurden für die Verwendung von CFFI konvertiert.

Source: opennet.ru

Kommentar hinzufügen