Development

Software-ontwikkeling
Google Grumpy

Googles Grumpy wipt Python voor Go

Google wil betere prestaties dan de standaard Python interpreter kan leveren.

Google Grumpy © Google
6 januari 2017

Google wil betere prestaties dan de standaard Python interpreter kan leveren.

Google introduceerde deze week 'Grumpy' een nieuw opensource-project, primair om de uitvoering van Python-code op YouTube te verbeteren.

Dylan Trotter van het YouTube Engineering team stelt in een blog dat Grumpy niet zo breed inzetbaar is als Python C, maar juist voor heel veel dagelijkse workloads beter presteert. Het project is nu als alpha-software onder een Apache-licentie vrijgegeven op GitHub.

Grumpy vertaalt broncode die in Python is geschreven, in broncode van Googles eigen Go-programmeertaal. Vervolgens kan deze code 'native' worden uitgevoerd.

De front-end van YouTube, maar ook YouTubes API, zijn vrijwel volledig geschreven in Python. De  grote uitdaging voor YouTube is steeds de servers in staat te stellen miljoenen requests per seconde te verwerken. Hoewel de afgelopen jaren veel tijd en moeite is gestoken in het verbeteren van de YouTube-applicatie, bleef elke keer het probleem terugkeren dat dergelijke belasting niet goed werkt in combinatie met CPython 2.7 interpreter. 

Hoe meer parallelle threads hoe beter

Daarom heeft Google besloten een nieuwe runtime voor Phyton te bouwen en heeft daarbij teruggegrepen op de eigen Go-programmeertaal. Go is immers vooral ontworpen voor het uitvoeren van eenvoudige taken in hoge volumes. Zoals Trotter laat zien in de blog presteert Grumpy vooral beter dan CPhyton wanneer het aantal parallel uitgevoerde threads oploopt.

Trotter benadrukt dat Grumpy geen interpreter is. De programma's vertaalt door Grumpy worden gecompileerd en net als andere Go-programma's uitgevoerd. Dat heeft een prijs, onder meer in flexibiliteit in ontwikkeling en toepassing. Maar de aanpak heeft ook verschillende voordelen zoals meer mogelijkheden voor optimalisatie en interoperabiliteit met andere in Go geschreven programma's.

Trotter nodigt iedere ontwikkelaar die suggesties heeft voor verbeteringen mee te werken aan Grumpy.

Lees meer over
Zie ook Development op AG Connect Intelligence

Reactie toevoegen