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

Après la NAND, Intel dit stop à la gamme Optane

Après avoir vendu son activité NAND, Intel tire un trait sur la technologie 3D XPoint,…

2 semaines ago

Google Analytics : la Cnil a posé les règles du jeu

Près de six mois ont passé depuis de que la Cnil a déclaré l'usage de…

3 semaines ago

Truffle 100 France : le top 20 des éditeurs de logiciels

Truffle 100 France : qui sont les 21 entreprises qui ont dépassé, en 2021, les…

3 semaines ago

Cloud : AWS brocarde les politiques de licences Microsoft

Un dirigeant d'Amazon Web Services dénonce des "changements cosmétiques" apportés par Microsoft à ses politiques…

3 semaines ago

Sécurité du code au cloud : Snyk Cloud, un joker pour développeurs

Snyk officialise le lancement de sa solution de sécurité cloud pour développeurs, Snyk Cloud, fruit…

3 semaines ago

Cegid accroche Grupo Primavera à son tableau d’acquisitions

Cegid va absorber Grupo Primavera, plate-forme de logiciels de gestion d'entreprise née dans la péninsule…

3 semaines ago