Pyston: JIT-basiertes Python von Dropbox

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.