Pour gérer vos consentements :

Avec Grumpy, Google transforme le code Python en programme Go

Google a présenté Grumpy, un projet Open Source, capable de traduire du code Python en programme Go. Cette idée est née pour résoudre un problème sur YouTube. En effet le serveur front-end du site de vidéo et ses API sont principalement écrits en Python et fonctionne sur CPython 2.7.

Avec cet environnement, Google est néanmoins confronté à un problème de performance. Ce n’est pas faute pourtant d’avoir fait des efforts pour améliorer cela, comme l’indique Dylan Trotter dans un billet de blog. Avec son équipe, il a cherché d’autres runtime Python comme Jython, PyPy ou IronPython, mais aucun n’a résolu le problème de performance.

Après avoir testé la concurrence, l’équipe s’est résolue à travailler sur leur propre runtime capable de gérer le temps réel. Les développeurs se sont vite penchés sur  Go, un langage de programmation compilé et concurrent de C et de Pascal créé par la maison mère Google. Et c’est ainsi qu’est né le projet Grumpy.

Grumpy : un runtime et un transcompilateur

Il se définit comme étant un runtime expérimental Python pour Go. Il traduit le code Python en programmes Go et ceux-ci s’exécutent de manière transparente dans le runtime Go. Grumpy est donc à la fois un transcompilateur et un runtime. Dylan Trotter explique : « Nous avions besoin de prendre en charge une grande base de code Python existant, il était donc important d’avoir un haut degré d’interopérabilité avec CPython. » Et d’ajouter que « l’objectif de Grumpy est de faciliter le remplacement à terme des projets en Python ».  Et les performances sont au rendez-vous comme le montre le graphique ci-dessous.

Une méthode que Google a choisi de partager avec la communauté en plaçant le code de Grumpy sur GitHub. Sollicité par un développeur sur la plateforme de repository sur le support de Python 3, Dylan Trotter a expliqué que « nous avons une grande base de code en Python 2.7 et nous allons nous concentrer là-dessus. Je voudrais supporter Python, mais c’est un travail énorme ». Nos confrères de The Register suggèrent une autre raison : la fin de vie pour Python 2.7 prévue en 2020. Plutôt qu’une migration vers Python 3 lente et fastidieuse, Google a préféré planifier au cours des prochaines années la conversion de son code Python en Go.

A lire aussi :

Salaire des développeurs : Ruby, Python et iOS rapportent

Dropbox améliore Pyston, son offre Python de hautes performances

Recent Posts

AWS prend ses distances avec VMware version Broadcom

Broadcom a repris seul la main sur la vente de l'offre VMware d'AWS... qui, dans…

8 heures ago

Avec ZTDNS, Microsoft essuie les plâtres du zero trust appliqué au DNS

Microsoft expérimente, sous la marque ZTDNS, une implémentation des principes zero trust pour le trafic…

10 heures ago

Atos sur la voie d’un sauvetage ? Point de situation

Accord de principe entre créanciers, propositions de reprise, discussions avec l'État... Le point sur le…

13 heures ago

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

3 jours ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

3 jours ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

4 jours ago