Login
Newsletter
Werbung

Fr, 30. Oktober 2015, 09:38

Software::Entwicklung

Python-Interpreter PyPy 4.0 freigegeben

Der Python-Interpreter PyPy wurde in Version 4.0 veröffentlicht. Die aktuelle Version des Interpreters, der wesentlich schneller als der Standard-Python-Interpreter ist, setzt sich in der Versionsnummer von Python ab und steigert die Geschwindigkeit weiter.

PyPy

PyPy ist eine deutlich schnellere Alternative zum Standard-Python-Interpreter CPython sowohl für Version 2.x als auch für Version 3.x. Nach PyPy 2.6 beschlossen die Entwickler, jetzt die Versionsnummer auf 4.0 anzuheben, um sich von den Versionsnummern 2.7 und 3.5 des Standard-Python-Interpreters CPython abzuheben. Seine höhere Leistungsfähigkeit verdankt PyPy dem integrierten Tracing-JIT-Compiler, einem verbesserten Garbage-Collector und dem effizienteren Maschinencode, den der PyPy-Interpreter erzeugt.

PyPy 4.0 erscheint fünf Monate nach Version 2.6 und steigert die Geschwindigkeit weiter. Zum einen wird das dadurch erreicht, dass der generierte Code Vektorinstruktionen benutzt, wo möglich. Diese Neuerung wurde im Rahmen einer Google Summer of Code-Arbeit implementiert. Da die Code-Generierung zur Laufzeit erfolgt, wenn bereits bekannt ist, welche Vektorinstruktionen zur Verfügung stehen, kann diese Optimierung mitunter sogar besser sein als die von traditionellen Compilern. Da die Optimierung noch neu ist, ist sie abgeschaltet und muss explizit eingeschaltet werden, um sie nutzen zu können.

Eine weitere Geschwindigkeitssteigerung gelang den PyPy-Entwicklern nach einer Refaktorisierung von RPython, die die effizientere Nutzung von sogenannten Guards ermöglicht. Zusammen mit anderen Verbesserungen wurden die Startzeit und der Speicherbedarf um etwa 20% gesenkt.

Trotz dieser Verbesserungen ist PyPy 4.0 im Schnitt der ausgewählten Benchmarks etwas langsamer als Version 2.6.1. Aktuell ist PyPy in diesen Benchmarks rund siebenmal so schnell wie CPython.

Das Modul NumPy, das Funktionen für die numerische Mathematik und mehrdimensionale Arrays enthält, erhielt weitere Verbesserungen bei der Unterstützung von ndarrays und Object-dtypes, die nun fast vollständig sind. Die Module linalg, random und fft wurden als CFFI 1.0-Module neu geschrieben. Das hier zum Einsatz kommende NumPy-Modul ist ein Fork des Originals mit Anpassungen an PyPy.

In dieser Version wurde CFFI auf Version 1.3 aktualisiert. CFFI ist eine vereinfachte Schnittstelle zum Aufruf von Funktionen in C-Bibliotheken. Da sie auch in CPython verfügbar ist, stellt sie im Interesse der Kompatibilität den bevorzugten Weg dar, C-Bibliothekscode von Python aus aufzurufen.

PyPy 4.0 ist für Linux, Mac OS X und MS Windows verfügbar. Der schnelle Python-Interpreter kann von der Downloadseite des Projekts heruntergeladen werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung