Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Ninja – Le remplaçant made in google de Make

Si vous développez un petit peu, vous connaissez sans doute le moteur de production Make qui permet d’exécuter un jeu de commandes capables de compiler un soft. En général, lorsqu’on récupère des sources, celles-ci sont livrées avec un fichier makefile qui permet justement de compiler le programme spécifiquement pour votre système.

Mais la team chargée de développer Google Chrome et de créer les builds pour chaque OS n’était pas satisfaite de cet outil. Ils ont donc développé le leur, qui a comme principale qualité d’être plus rapide que Make. Evan Martin a expliqué sur son blog qu’à l’origine, c’était Scons qui était utilisé pour créer les binaires de Chrome à partir de 30 000 fichiers sources, mais que celui-ci était vraiment trop lent, allant même à mettre jusqu’à 40 secondes avant de compiler quoi que ce soit.

Ils ont donc décidé de migrer le process sur Make, en l’optimisant comme ils le pouvaient, mais cela n’était pas encore suffisant. Make était plus rapide que Scons, mais il restait encore 10 à 20 secondes d’attente avant chaque début de compilation. Du coup, ils ont tout recréé depuis zéro, et ont réussi à développer un outil basique baptisé Ninja, qui reprend la même philosophie que Make, mais avec beaucoup moins de fonctionnalités mais beaucoup plus rapide. Ninja démarre la compilation au bout de 6 secondes pour le moment, mais je suis sûr qu’ils vont encore optimiser la chose.

En tout cas, si ça vous intéresse, sachez que Ninja est open source et disponible ici. La documentation est par là.

Bonne compilation !

[Source et photo]


Les articles du moment