Login
Login-Name Passwort


 
Newsletter
Werbung

Fr, 6. Januar 2017, 11:36

Software::Entwicklung

Grumpy: Neue Python-Laufzeitumgebung von Google

Google hat die alternative Python-Laufzeitumgebung Grumpy vorgestellt, die Python beschleunigen soll, indem sie Code für eine Go-Laufzeitumgebung erzeugt.

Grumpy: Python-Code wird zu Go-Code

Google

Grumpy: Python-Code wird zu Go-Code

Unternehmen, die große Server-Farmen betreiben, sehen sich oft durch die Langsamkeit des Standard-Python-Interpreters (CPython) an ihre Grenzen gebracht. Im Falle von Google ist es vor allem Youtube, das größtenteils in Python geschrieben ist und Millionen von Anfragen pro Sekunde verarbeiten muss. Google hat nach eigenen Angaben bereits erhebliche Anstrengungen in die Optimierung von Python 2.7 gesteckt, doch parallele Verarbeitung bleibt weiter die große Schwäche von CPython.

So kam es, dass Google nach Alternativen zu CPython Ausschau hielt, doch diese erwiesen sich alle als unzureichend, da sie andere Probleme aufwarfen. Aus diesem Grund begann Google die Entwicklung einer neuen Laufzeitumgebung für Python, die jetzt als »Grumpy« vorgestellt wurde.

Grumpy ist laut Google noch experimentell. Es ist in Python geschrieben und arbeitet so, dass es Python-Code in Go-Code übersetzt. Es wird also einer der Vorteile von Python, das direkte Ausführen von Programmen durch den Interpreter, durch eine Compilierung ersetzt. Der erzeugte Go-Code läuft in der Go-Laufzeitumgebung.

Grumpy strebt eine maximale Kompatibilität mit CPython 2.7 an, da die installierte Python-Code-Basis von Google groß ist. Das einzige, was nicht funktioniert, sind in C geschriebene Erweiterungsmodule von CPython. Stattdessen kann Grumpy aber problemlos Go-Pakete importieren. Grumpy nutzt die Speicherverwaltung von Go anstelle von Referenzzählern und besitzt keinen globalen Interpreter-Lock. Dadurch entfällt der Hauptgrund für die mangelnde Skalierbarkeit von CPython, und Grumpy kann dadurch wesentlich stärker von Parallelisierung profitieren. Zudem können weitere Optimierungen durch den Go-Compiler genutzt werden.

Grumpy steht unter der Apache-Lizenz 2.0 und steht als experimentelle Alphaversion in einem Github-Repositorium zum Abrufen oder Herunterladen bereit.

Werbung
Kommentare (Insgesamt: 4 || Alle anzeigen || Kommentieren )
Verwirrung (Guppy, Mo, 9. Januar 2017)
Re: Schneller als PyPy? (brumpy, Fr, 6. Januar 2017)
Re: Schneller als PyPy? (glasen, Fr, 6. Januar 2017)
Schneller als PyPy? (Markus , Fr, 6. Januar 2017)
Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung