Cet article fait partie des archives de WebRankInfo : certes, il est ancien, mais complet et détaillé pour son époque. Si vous cherchez d'autres informations, faites une recherche sur le site ou participez au forum. Contactez-moi si besoin.
Les informations qui suivent ont été fournies par Rachel Potvin pendant la conférence DevTools @Scale qui a eu lieu le 14/09/2015 dans la Silicon Valley. Voici la vidéo de sa présentation intitulée "The Motivation for a Monolithic Codebase", trouvée via Wired :
Voici quelques chiffres-clés que vous pouvez tweeter...
Nombre de lignes de code de lignes de code :
Nombre de lignes de code dans le code de lignes de code :
Taille pour stocker le code de lignes de code :
Nombre de commits par jour dans le code de lignes de code :
Sur ces 45k commits, 15k sont faits par des humains, les autres par des systèmes automatisés. Pour gérer tous ces changements, lignes de code a développé son propre système de lignes de code appelé Piper.
Et si on comparait à lignes de code, l'un des plus gros "logiciels" du monde, développé depuis presque 20 ans de plus que lignes de code ? En 2011, Windows XP était constitué de 45M de lignes de lignes de code (source).
On peut aussi comparer à Linux : l'lignes de code lignes de code est constitué de 15 millions de lignes de lignes de code dans 40.000 lignes de code.
Ou alors à Facebook, dont l'lignes de code principale serait basée sur 20 millions de lignes de lignes de code (source).
Ce qui est particulier, et justement l'objet de la présentation de Rachel Potvin, c'est que tout ce lignes de code est réuni dans un seul dépôt (repository), "le plus gros du monde" croit-elle deviner.
Nombre d'ingénieurs travaillant sur le lignes de code de lignes de code :
Selon Rachel Potvin, "à peu près tout a déjà été développé" et se trouve disponible dans de multiples bibliothèques de codes. Ce qui est également impressionnant, c'est que chacun des milliers d'ingénieurs qui a accès à ce lignes de code peut, par la publication de son changement (commit), déployer sa modification sur l'ensemble des services de lignes de code.
Enfin, presque tout, car le lignes de code dédié à la recherche semble mis à part, seuls certains ingénieurs y ayant accès. Rappelez-vous que les pandas sont une espère protégée !
Il existe une autre séparation tout de même : les systèmes Android et Chrome ne sont pas gérés avec le même système de lignes de code.
A côté de tout ça, on se sent minuscule, non ?
Je suppose qu'il faut comprendre ici par "Google" l'ensemble des applicatifs de la marque (Gmail, Google+, Google Maps...etc) et pas seulement le moteur de recherche...
PS : pourquoi je vois une page blanche avec marqué "Spam Deleted" après avoir envoyé mon commentaire ?
En effet il s'agit de tout Google, peut-être même de tout Alphabet Inc. :-)
Je ne vais pas juger parce que je ne connais pas l'auteur de cet article, mais l'impression que j'en ai est qu'il ne connait pas du tout le domaine de l'informatique et de la programmation.
Concrètement, vanter les mérites d'un système par son nombre de lignes de code c'est un peu comme juger une personne par rapport à son poids. Tout ce que ces chiffres cherchent à dire c'est que le système est important, complexe, et que les gens qui travaillent dessus effectue un travail conséquent. Un commit représente rarement une fonctionnalité complète, généralement une petite fonctionnalité représentera entre 5 et 10 commits, lesquels représenteront parfois des changements de 10 lignes. De plus, sur les 2 milliards de lignes, il faut compter probablement 10% au moins de lignes obsolètes et inutilisées, mais laissées dans le code faute de temps.
Et je vais conclure sur la comparaison qui montre bien que l'ensemble ne tient pas debout : une comparaison de nombre de lignes avec Linux... Linux n'est pas un OS, c'est un noyau et il est décliné en énormément de versions (distributions pour être exact) et donc, pour rester dans la thématiques de l'article, d'énormément de nombre de ligne total différents. Entre un Linux embarqué et une version grand publique, la différence de taille peut être d'un facteur 10 au moins.
Si on veut vraiment se gargariser avec des chiffres, dans le cas de Google, il serait plus pertinent de parler de la taille de sa base de données.
"je ne vais pas juger" pourtant ça y ressemble fort ;-)
vous avez raison, Google n'est pas Linux, ni Microsoft ni Bing. D'ailleurs, je suis curieux de savoir à quoi/qui vous souhaiteriez que Google soit comparé ? ça ne vous aura pas échappé que depuis longtemps Google est très loin d'être seulement un moteur de recherche. Je ne connais pas d'entreprise qui regroupe les mêmes produits et services de Google et qui puisse donc lui être comparé.
"Tout ce que ces chiffres cherchent à dire c'est que le système est important, complexe, et que les gens qui travaillent dessus effectue un travail conséquent"
en effet, c'est un des objectifs de cet article, qui semble donc atteint !
concernant le choix des métriques (nb de lignes de code, de commits, etc.), vous êtes sûrement un as en informatique, mais je ne fais que reprendre celles que la responsable chez Google a choisis. Vu sa fonction, je lui fais très largement confiance pour estimer qu'il s'agit de métriques intéressantes.
Je ne cherche ni à vanter Google ni à me gargariser, simplement à informer mes lecteurs sur le fonctionnement de Google - tout du moins à partir des infos que j'ai pu trouver.
Je serai vraiment très content si vous pouviez compléter mon analyse avec des métriques plus intelligentes. Pour l'instant je n'ai pas d'infos fiables sur sa base de données mais je suis preneur !
En informatique il est possible de faire la même chose avec peu de lignes de code, et 100 fois plus quand on code mal, donc avoir beaucoup de lignes de code est tout sauf un facteur de qualité.
En effet david, c'est ce qu'on dit parfois. On ne peut pas non plus conclure que le système de Google est de mauvaise qualité, ils n'en seraient pas là ;-)
ha bon ?? donc Google est une entreprise. Mais Windows ? C'est une entreprise peut être ?
Comparons ce qui est comparable et pas "1 chou" avec avec "un champ de patates" si on admet pouvoir comparer un choux et une patate.
Donc comparons :
- Les entreprises Google-Microsoft (si ça a du sens de faire ce type de comparaison)
- "Le moteurs" Google - Bing (déjà ça a plus de sens)
- Les OS Android - Windows Phone
Voilà c'était pour être constructif, pas pour passer pour un débile...
Je n'ai pas de chiffres aussi précis pour comparer, si vous les avez je suis preneur. Mais faute de mieux je trouve intéressant d'avoir ceux que j'ai indiqués.
Le titre est étrange, comparer le nombre de lignes de code d'un moteur de recherche et d'un système d'exploitation est il logique ?
Il faut comparer
-Androïd et Windows Phone
-Google et Bing
...
@macfly : Google n'est pas seulement un moteur de recherche, mais alors vraiment pas du tout ! Si je l'ai comparé, c'est que je disposais des chiffres et que de toutes façons il s'agit des plus grosses entreprises d'informatique. J'ai également cité Facebook qui n'est pas un moteur de recherche.