Grumpy: Google erstellt Python-Runtime in Go

Mit Grumpy hat Google eine experimentelle Laufzeitumgebung für Python in der Programmiersprache Go erstellt. Begründet wird das mit der Unzufriedenheit über verfügbare Alternativen. Grumpy ist zudem ein Transpiler, kein Interpreter.

Artikel veröffentlicht am ,
Google verarbeitet Python in Go.
Google verarbeitet Python in Go. (Bild: Google)

Eigenen Angabe zufolge nutzt Google "Millionen Zeilen Python-Code". Das umfasse vor allem die Frontend-Server von Youtube sowie die APIs für den Videostreamingdienst. Insbesondere mit der Standardimplementierung CPython sei es für das Team allerdings sehr schwierig, nebenläufige Programme zu verfassen, die sehr leistungsfähig arbeiten. In Anbetracht mangelnder Alternativen hat das Team deshalb eine eigene Laufzeitumgebung für Python 2.7 in Go erstellt.

Stellenmarkt
  1. Senior System Engineer (m/w/d) for Azure Active Directory
    Atruvia AG, Karlsruhe, Münster
  2. Fachinformatiker Systemintegration/IT-Systema- dministrator (m/w/d)
    Verbandsgemeinde Jockgrim, Jockgrim
Detailsuche

Das entstandene Projekt heißt Grumpy und steht unter der Apache-Lizenz als Open Source auf Github zur Verfügung. Die Entscheidung für die Sprache Go zur Umsetzung einer eigenen Python-Laufzeitumgebung sei für die Beteiligten eine "offensichtliche" Wahl gewesen. Immerhin passten die typischen Merkmale von Go gut zu dem Anwendungsfall von Youtube und die Type-Reflection der Go-Laufzeitumgebung ermögliche eine erstklassige Sprachinteroperabilität.

Keine C-Module, dafür einfache Go-Integration

Ziel von Grumpy sei es, einen vollständigen Ersatz der Laufzeitumgebung für reine Python-Projekte bereitstellen zu können. Die dabei wohl größte Einschränkung im Vergleich zu CPython ist allerdings, dass Grumpy auf die Unterstützung für C-Erweiterungen verzichtet. Existierende C-Module für Python können mit Grumpy also nicht genutzt werden, dem Team habe das aber eine große Flexibilität beim Design der Software gegeben.

So könne Grumpy auf einen Global Interpreter Lock verzichten und das System verwende den Garbage Collector von Go für die Verwaltung der Objektlebensdauer statt einer Referenzzählung. Darüber hinaus ist Grumpy explizit kein Python-Interpreter. Stattdessen wird der Python-Code mit Hilfe eines Transpilers in Go übersetzt. Dazu heißt es: "Grumpy-Programme werden kompiliert und verlinkt wie jedes andere Go-Programm". Python-Code, der für die Verwendung mit Grumpy vorgesehen sei, könne damit sämtliche verfügbaren Go-Pakete importieren und diese weiterverwenden.

Golem Akademie
  1. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
  2. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    15.–17. März 2022, Virtuell
Weitere IT-Trainings

Noch wird das Projekt als Alpha-Software beschrieben, so dass bei einem Einsatz noch mit vielen Problemen zu rechnen ist. Das Team fordert Interessierte aber dazu auf, sich an der Entwicklung zu beteiligen. So könne das Team die noch ausstehenden Arbeiten besser priorisieren.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


danielcale 10. Jan 2017

Aber in der tat, der ewigdauernde Split zwischen 2 und 3 schreckt ab. Ich glaube nicht...

RicoBrassers 06. Jan 2017

Wo nervt Google denn? Also ich werde nicht von Google genervt und freue mich, dass...

deadeye 06. Jan 2017

Ne, bezahlt keiner und einen Gewinn hat man dadurch leider auch nicht. Ich denke mal...

pythoneer 05. Jan 2017

Ich weiß nicht ob du eine falsche Vorstellung von dem Wort "Implizit" hast aber du...



Aktuell auf der Startseite von Golem.de
Bundesservice Telekommunikation  
Die dubiose Adresse in Berlin-Treptow

Angeblich hat das Innenministerium nichts mit dem Bundesservice Telekommunikation zu tun. Doch beide teilen sich offenbar ein Bürogebäude.
Ein Bericht von Friedhelm Greis

Bundesservice Telekommunikation: Die dubiose Adresse in Berlin-Treptow
Artikel
  1. Reddit: IT-Arbeiter automatisiert seinen Job angeblich vollständig
    Reddit
    IT-Arbeiter automatisiert seinen Job angeblich vollständig

    Ein anonymer IT-Spezialist will unbemerkt seinen Job vollständig automatisiert haben. Dem Arbeitgeber sei dies seit einem Jahr nicht aufgefallen.

  2. E-Mail: Outlook-Suche in MacOS 12.1 ist noch immer kaputt
    E-Mail
    Outlook-Suche in MacOS 12.1 ist noch immer kaputt

    Seit Wochen ärgern sich Outlook-User darüber, dass die E-Mail-Suche unter MacOS 12.1 nicht mehr richtig funktioniert. Ein Fix ist in Arbeit.

  3. Spielebranche: Microsoft will Activision Blizzard übernehmen
    Spielebranche
    Microsoft will Activision Blizzard übernehmen

    Diablo und Call of Duty gehören bald zu Microsoft: Der Softwarekonzern will Activision Blizzard für rund 70 Milliarden US-Dollar kaufen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 wohl am 19.01. bestellbar • RTX 3080 12GB bei Mindfactory 1.699€ • Samsung Gaming-Monitore (u.a. G5 32" WQHD 144Hz Curved 299€) • MindStar (u.a. GTX 1660 6GB 499€) • Sony Fernseher & Kopfhörer • Samsung Galaxy A52 128GB 299€ • CyberGhost VPN 1,89€/Monat [Werbung]
    •  /