WebRankInfo : la plus grande communauté francophone du référencement
Olivier Duffez
Créateur de WebRankInfo,
consultant en référencement
La complexité du code informatique de Google est incroyable : 2 milliards de lignes de code ! Découvrez d'autres éléments qui démontrent à quel point Google est devenu un système gigantesque…
Publié le . Auteur : Olivier Duffez
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 Google :
Nombre de fichiers source dans le code de Google :
Taille pour stocker le code de Google :
Nombre de commits par jour dans le code de Google :
Sur ces 45k commits, 15k sont faits par des humains, les autres par des systèmes automatisés. Pour gérer tous ces changements, Google a développé son propre système de gestion de versions appelé Piper.
Et si on comparait à Microsoft Windows, l'un des plus gros "logiciels" du monde, développé depuis presque 20 ans de plus que Google ? En 2011, Windows XP était constitué de 45M de lignes de code (source).
On peut aussi comparer à Linux : l'OS open source est constitué de 15 millions de lignes de code dans 40.000 fichiers.
Ou alors à Facebook, dont l'application principale serait basée sur 20 millions 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 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 code de Google :
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 code peut, par la publication de son changement (commit), déployer sa modification sur l'ensemble des services de Google.
Enfin, presque tout, car le 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 gestion de versions.
A côté de tout ça, on se sent minuscule, non ?
Cet article vous a-t-il plu ?
Remarques :
Si vous souhaitez poser une question ou détailler un problème technique, il ne faut pas utiliser le formulaire ci-dessous qui est réservé aux avis. Posez votre question directement dans le forum Gmail de WebRankInfo. L'inscription est gratuite et immédiate.
En postant un avis, vous acceptez les CGU du site WebRankInfo. Si votre avis ne respecte pas ces règles, il pourra être refusé. Si vous indiquez votre adresse email, vous serez informé dès que votre avis aura été validé (ou refusé…) ; votre adresse ne sera pas utilisée pour vous envoyer des mailings et ne sera pas revendue ou cédée à des tiers.
10 commentaires
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.
Inscription à la newsletter
Catégories
Consulting SEO
Envie d'améliorer votre référencement ?
Consultant SEO depuis 2003, j'ai une très grande expérience en audit et consulting. Que ce soit pour une demande ponctuelle, pour un audit ou du long terme, je peux vous aider.
WebRankInfo / Tous droits réservés 2022 – Mentions légales – Me contacter