+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : juin 2010
    Messages : 1 374
    Points : 68 480
    Points
    68 480

    Par défaut 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



    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 ?

  2. #2
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2010
    Messages
    1 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : avril 2010
    Messages : 1 228
    Points : 3 643
    Points
    3 643

    Par défaut

    je trouve ça vraiment magnifique le partage et l'entraide en informatique. On était pas satisfait de l'existant alors on a fait autre chose et maintenant on le laisse disponible à tous car ça peut être utile. ça change de notre système de concurrence...
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2008
    Messages : 25
    Points : 33
    Points
    33

    Par défaut

    Effectivement la syntaxe à l'air relativement proche des Makefile, après si ça va plus vite ça ninjate tout le reste

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Pourquoi nulle mention de CMake ?

    Penser à SCons c'est vraiment dommage lorsqu'on sait que CMake est très fiable avec des performances bien meilleures que SCons...

    Dommage que l'on essaie pas plusieurs solutions chez Google.

  5. #5
    screetch
    Invité(e)

    Par défaut

    j'utilise Waf qui a pas mal de qualités aussi, dont le bon goût d'être ecrit en python (donc très peu de dépendances).
    Cmake je ne suis pas fan, parce qu'il ne sait pas construire le projet lui-même il ne peut que générer des projets. C'est moins pratique pour le cross-development.
    un autre système de build vraiment rapide, je suis pas super fan non plus. En général ce qui manque ce sont les outils autour (détecter les compilateurs ou l'environnement, détecter les sources...) pas le build lui-même.

  6. #6
    Membre émérite Avatar de air-dex
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    1 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 1 371
    Points : 2 911
    Points
    2 911

    Par défaut

    Citation Envoyé par gandalflemaia Voir le message
    Effectivement la syntaxe à l'air relativement proche des Makefile, après si ça va plus vite ça ninjate tout le reste
    +1. Ils ont bien pompé sur make !
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

Discussions similaires

  1. Google lance un grand concours d'applications pour Chrome
    Par Gordon Fowler dans le forum Google Chrome
    Réponses: 5
    Dernier message: 02/05/2011, 10h30
  2. Réponses: 0
    Dernier message: 08/02/2011, 10h38
  3. Réponses: 34
    Dernier message: 05/01/2011, 09h00
  4. Réponses: 0
    Dernier message: 19/02/2010, 10h13
  5. [D7] composants plus rapides que dbExpress pour Oracle 8i
    Par Magnus dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/10/2005, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo