Zum Hauptinhalt Zur Navigation

Pyston: JIT-basiertes Python von Dropbox

Dropbox stellt eine JIT-basierte Implementation von Python 2.7 bereit. Der Cloud-Dienstleister baut für Pyston dabei auf LLVM auf, was Python konkurrenzfähig etwa zu C++ machen soll.
/ Sebastian Grüner
2 Kommentare News folgen (öffnet im neuen Fenster)
Pyston von Dropbox nutzt LLVM. (Bild: Python.org)
Pyston von Dropbox nutzt LLVM. Bild: Python.org

Unter dem Namen Pyston hat der Cloud-Dienstleister Dropbox eine Neuimplementierung von Python 2.7 frei veröffentlicht(öffnet im neuen Fenster) . Das Unternehmen erhofft sich von Pyston ein sehr leistungsfähiges Python, das sogar mit traditionellen Sprachen wie C++ konkurrieren können soll.

Die komplette Reimplementierung einer Sprache, was sehr aufwendig sein kann, rechtfertigt Dropbox damit, dass die "vielversprechendsten Techniken" , um Python zu beschleunigen, wohl inkompatibel mit den existierenden Implementierungen sind. Zu diesen neuen Techniken gehört das sogenannte Method-at-a-time-JIT sowie ein als konservativ beschriebener Garbage-Collector.

Pyston verwendet LLVM

Um nicht komplett neu anfangen zu müssen, verwendet Pyston die Infrastruktur LLVM. Dazu übersetzt Pyston den geparsten Python-Code in den LLVM-Zwischencode (IR), der wiederum nach einer Optimierung von der JIT-Engine LLVMs in Maschinencode umgewandelt und anschließend ausgeführt wird.

Um die Interpretation zu optimieren, setzt Pyston außerdem auf die sogenannte Type-Speculation, das heißt, Pyston trifft Vorhersagen über den Datentyp eines Objekts. Diese Vorhersagen werden zur Laufzeit überprüft, und trifft die Vorhersage nicht zu, versucht es der Compiler einfach erneut.

Noch ist Pyston nicht komplett und unterstützt nur eine kleine Untermenge der Sprache Python. Von der frühen Veröffentlichung erhofft sich Dropbox vor allem eine Kooperation mit Beteiligten aus der Python-Community. Der Code von Pyston steht unter der Apache-Lizenz zum Download(öffnet im neuen Fenster) über Github bereit. Dort stehen auch weitere technischen Details bereit ebenso wie weitere Pläne für Pyston.


Relevante Themen