Evan Martin, l'un des développeurs de Google Chrome, vient de passer sous licence open-source son système de Build baptisé « Ninja », actuellement utilisé pour porter le navigateur de Google sur plusieurs plateformes.
Ninja serait considérablement plus rapide que les autres moteurs de production existants, d'où son nom.
Martin affirme sur son site personnel que Ninja finit le Build de Chrome (environ 30 000 fichiers source, Webkit compris) en seulement une seconde après la modification d'un seul fichier (contre 10 pour GNU Make et 40 secondes préalables mêmes au Build avec SCons)
SCons est l'outil libre de construction de logiciel que Google avait préalablement choisi quand la décision de porter le navigateur sur d'autres plateformes que Windows avait été prise.
Mais les performances de ce moteur de production avait poussé l'équipe du projet à reconsidérer l'utilisation des traditionnels Makefiles pour le port sous Linux et GYP, un système de meta-build pour générer des fichiers de builds natifs sous Mac et Windows.
Les performances avec ces systèmes laissaient toujours à désirer.
Sous Windows, Martin relate que l'opération pouvait prendre jusqu'à 8 minutes après la modification d'un seul fichier source. Des délais « dévastateurs à la fois pour la productivité et le moral », selon Martin.
L'équipe a donc entrepris d'optimiser son système de build. Mais elle n'était toujours pas satisfaite des 10 à 20 secondes toujours nécessaires.
D'où la décision de concevoir leurs propre moteur de production « from scratch », un « système de build très simple, conceptuellement très similaire à Make mais avec très peu de fonctionnalités » que Martin et ses coéquipiers ont complété par des outils empruntés à Make et au système de build du noyau de Linux.
Le voila aujourd'hui disponible pour tous les développeurs.
Ninja est disponible sur Github
Sa documentation est disponible sur cette page
Source : le blog de Evan Martin
Et vous ?
Que pensez-vous de Ninja ?
Et quels systèmes de build utilisez-vous ?
Google libère le système de build utilisé pour Chrome
« Ninja » serait dix fois plus rapide que GNU Make
Google libère le système de build utilisé pour Chrome
« Ninja » serait dix fois plus rapide que GNU Make
Le , par Idelways
Une erreur dans cette actualité ? Signalez-nous-la !