PyPy 7.0 unterstützt Python 3.6 experimentell

Darüber hinaus verfügt das aktuelle mit früheren PyPy-Versionen kompatible Release über neue Garbage-Collector-Hooks und ein aktualisiertes CFFI-Modul.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
PyPy 7.0 unterstützt Python 3.6 experimentell
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die Macher von PyPy haben die Version 7.0 ihrer CPython-Alternative veröffentlicht. Die Python-Implementierung unterstützt weiterhin Python 2.7, bevorzugtes Ziel ist aber Python 3.5, jedoch werden nun auch die Funktionen von Python 3.6 auf Alpha-Statusebene unterstützt. Dieser Unterstützung fehlt es aber bislang an Stabilität, genauso der Python-3.5-Implementierung von PyPy für Windows.

Darüber hinaus verfügt das neue Release über neue Garbage-Collector-Hooks, ein aktualisiertes CFFI-Modul (C Foreign Function Interface), und die Entwickler versprechen zudem die vollständige Kompatibilität zu früheren PyPy-Versionen.

Die GC-Hooks, mit denen man mehr Einblicke in die Performance gewinnen können soll, wurden einerseits überarbeitet und andererseits es ist nun möglich, den Garbage Collector manuell zu verwalten, indem man eine Kombination aus den neuen Features gc.disable und gc.collect_step verwendet. CPython stellt programmatische Hooks in seinem Garbage-Collection-Subsystem zur Verfügung. PyPy führt dagegen den Garbage Collector in inkrementellen Schritten aus. Das soll verhindern, dass der Garbage-Collection-Prozess Python-Programme zu lange zum Stillstand bringt.

Das CFFI-Modul wurde auf Version 1.12 und das cppyy-Backend, ein Generator zum Erzeugen von Python-C++-Bindings, wurde auf Version 1.4 aktualisiert. Der Reverse Debugger des Projekts wurde außerdem in den Standardentwicklungszweig integriert. Für seine Benutzung benötigen Entwickler immer noch einen speziellen Build, zumindest lässt er sich aus dem gleichen PyPy-7.0-Quellcode kompilieren, wodurch er immer auf dem neuesten Stand sein dürfte.

Das PyPy-Team hat schließlich etliche Multithreading- und Multiprocessing-Probleme beseitigt und einige Operationen durch Optimierungen der Implementierungen beschleunigt.

Wer mehr über das neue Release erfahren will, findet erste Informationen in der Ankündigung im Entwickler-Blog. Hier wird man auch auf die Download-Site verwiesen.

PyPy fungiert dank JIT-Kompilierung (Just In Time) als offenbar schnellerer Drop-In-Ersatz für CPython, die Referenzimplementierung der Programmiersprache Python. Außerdem ist bei PyPy immer wieder von einem geringeren Speicherplatzverbrauch und der Unterstützung von Stackless Python die Rede, einer weiteren Python-Implementierung, die sogenannte Microthreads einführt, die im Gegensatz zu regulären Treads weniger Overhead erzeugen sollen.

(ane)