Google se skládá z dvou miliard řádků kódu

Kolik řádů měl váš nejdelší program, který jste kdy napsali – ať už v hodině informatiky na střední škole, nebo jako profík? Google se také pochlubil a jsou to skutečně obří čísla.

Jak velký je vlastně Google? Na tuto otázku hledají statistici odpověď už celou dekádu, velikost všech dat, která hostuje ve svých rozsáhlých serverovnách rozesetých po celém světě, se totiž kvůli počtu a obrovské aktivitě jeho uživatelů neustále mění a s trochou nadsázky je stejně neurčitá jako kvantová fyzika.

V okamžiku změření bude cifra ve skutečnosti zase o pár gigabajtů jiná, protože kdesi na pozadí se právě synchronizovaly další miliony mobilních telefonů a webových disků a na YouTube se během jediné sekundy objevilo několik dalších hodin zábavného videa s mňoukajícími kočkami.

Zatímco samotný obsah je neskutečně dynamický, s kostrou Googlu by to už ale tak žhavé být nemuselo. Jinými slovy, jak velké jsou vlastně zdrojové kódy Googlu? A to nejen vyhledávače, ale i všech jeho služeb počínaje Gmailem a konče třeba mapovým portálem? Kolik kapesních flešek byste potřebovali, abyste si mohli odnést Google domů?

Obří skladiště zdrojáků

Je to bláznivá otázka, ale Google na ni minulý týden kupodivu skutečně odpověděl. Jedna z jeho manažerek Rachel Potvinová se totiž na konferenci @Scale pochlubila prezentací plnou čísel.

Když v Redmondu před patnácti lety dopisovali Windows XP, zdrojový kód operačního systému překonal hranici 45 milionů řádků kódu a Windows jako monolitický projekt byl celé roky považovaný za jeden z nejnáročnějších softwarových počinů.

Google je ale kupodivu také poměrně monolitický – přinejmenším z pohledu organizace jeho zdrojových kódů. Vyhledávač, poštovní služba, mapy a vše ostatní je v jednom obřím skladišti, repozitáři, ke kterému má přístup 95 % inženýrů – tedy 25 tisíc vývojářů.

Miliarda souborů a dvě miliardy řádků

Celý tento balík se skládá z miliardy souborů. Jsou to jednak soubory se samotnými zdrojovými kódy ve všemožných programovacích jazycích od Pythonu po Javu, dále různé konfigurační skripty nebo třeba dokumentace. Prostě vše, co jako vývojář potřebujete k vývoji vlastního Googlu a všeho, co k němu patří.

Klepněte pro větší obrázek
Svět za zrcadlem – aneb Google optikou vývojářů

Samotný kód Googlu a jeho služeb se v průběhu let roztáhl do 9 milionů zdrojových souborů, které dohromady čítají 2 miliardy řádků. Google je tedy v tomto směru a se vším všudy více než čtyřicetkrát rozsáhlejší projekt než zmíněný Windows XP.

Ale pokračujeme dál. Google už dnes možná nepředstavuje jednu webovou novinku za druhou a dává si více načas, to ale neznamená, že se snad uvnitř produktových týmů nic neděje. Přinejmenším zdrojový kód Googlu je totiž velmi živý a neustále se proměňuje.

86 terabajtů

Centrální úložiště kódu eviduje každý den 45 tisíc změn (2/3 dělají automatizované systémy), což odpovídá 16 milionům úprav kódu v průběhu jednoho roku. Repozitář Googlu přitom každou touto změnu eviduje a vývojáři se tedy mohou vracet i do historie k původním verzím – skrze 35 milionů proměn zdrojového kódu Googlu.

Klepněte pro větší obrázek Klepněte pro větší obrázek
S rostoucí složitostí celého Googlu roste i počet změň jeho zdrojového kódu. Dvě třetiny změn neprovádí člověk, ale stroj – všemožné automatizované systémy.

Pojďme ale konečně zodpovědět tu kruciální otázku. Vlezou se vám zdrojové kódy na kapesní flešku? Asi nebude žádným překvapením, že byste jich potřebovali celý ranec, kostra Googlu totiž zabírá 86 terabajtů. Než tedy vyrazíte třeba do švýcarského Curychu, kde sídlí jedno z vývojářských doupat společnosti, pořiďte si třeba jedenáct 8TB podnikových disků od Seagatu.

Pokud budeme pohlížet na obří centralizované skladiště kódů Googlu jako na jeden související organizmus, pak se skutečně jedná pravděpodobně o doposud největší zdokumentované softwarové dílo.

Klepněte pro větší obrázek
Linuxové jádro se skládá z 15 milionů řádků kódu a 40 tisíc souborů. Inženýři Googlu stejné množství kódu upraví za jeden týden.

Z kolika řádků kódu se skládá firmware boeingu?

Pojďme na závěr dát ty dvě miliardy řádků kódu ještě do nějakého širšího kontextu.  Už tedy víme, že kódy celého Googlu jsou 44× rozsáhlejší než Windows XP, ale co ostatní? Určitou představu může podat třeba infografika Millions of lines of code, jejíž autoři nabízejí i XLS tabulku obdařenou zdroji.

Klepněte pro větší obrázek
Kolik řádků kódu měl první Photoshop, firmware raketoplánů nebo třeba Symbian?

Metodika zjištění počtu řádků zdrojových kódů u nejrůznějších softwarů sice nemusí být vždy úplně přesná, ale jde spíše o relativní srovnání pro lepší představu a nikoliv o exaktní čísla. Ostatně vždy záleží i na charakteru programovacího jazyka, ve kterém byl daný software vytvořený. program vyjádřený sadou instrukcí z kdejakého assembleru bude mít jistě diametrálně odlišný počet řádků kódu než třeba aplikace v JavaScriptu.

Zatímco takový Photoshop 1.0 z roku 1990 dosahoval asi 120 tisíc řádků, firmware Boeingu 787 jich potřeboval 6,5 milionů. O něco málo složitější je prohlížeč Chrome a Android jich potřebuje 12 milionů.

Americký stíhací letoun F-35 má firmware rozlezlý na 24 milionech řádků, Windows 7 kdesi okolo padesáti a veškerý firmware chytrých vozů snad až sto milionů řádků.


A jak jste na tom vy? Kolik řádků měl váš nejdelší program – ať už z hodiny informatiky, nebo profesionální tvorby?

Témata článku: Software, Google, Programování, Statistiky, Infografika, Firmware, Lines, Boeing 767, Boeing 777

41 komentářů

Nejnovější komentáře

  • Karel Dvořák 26. 9. 2015 23:39:34
    No a? Počet řádků kódu nevypovídají nic o kvalitě. Znám spousty programů o...
  • oneb1t 25. 9. 2015 19:08:59
    me to prijde jako hovadina .. realnej pocet radku kodu bude tak do 100...
  • ANNO2077 24. 9. 2015 23:54:15
    hele Kubo a tys ty radky vsechny precet co ? kolik tam maji chyb ? v...
Určitě si přečtěte

Operační systém běžným počítačům nedal Bill Gates, ale Gary Kildall

Operační systém běžným počítačům nedal Bill Gates, ale Gary Kildall

** Gary Kildall pochopil, že levné výpočetní čipy mohou posloužit jako univerzální počítače pro všechny ** Připravil pro ně proto první operační systém ** Později mu systém vyfoukl Microsoft a nazval ho MS DOS

23.  4.  2017 | Pavel Tronner | 46

Původní Starcraft: Brood War je nyní zdarma. Konec práce! Jde se pařit

Původní Starcraft: Brood War je nyní zdarma. Konec práce! Jde se pařit

** Legendární hra Starcraft je nyní k dispozici zdarma ** Chystá se i nová remasterovaná verze s hezčí grafikou

19.  4.  2017 | Jakub Čížek | 25

Brno otevřelo největší českou dílnu pro bastlíře. Kladívka, vrtačky, 3D tiskárny, laserové řezačky. Je tu vše

Brno otevřelo největší českou dílnu pro bastlíře. Kladívka, vrtačky, 3D tiskárny, laserové řezačky. Je tu vše

** Máte nápad, ale chybí vám stroje a pořádná dílna? ** Chcete postavit ptačí budku, nebo krabičku pro Arduino? ** Brno otevřelo svůj FabLab – laboratoř pro bastlíře

19.  4.  2017 | Jakub Čížek | 31

Umělá inteligence je sice v plenkách, už teď ale přestáváme rozumět, jak vlastně funguje. To je problém

Umělá inteligence je sice v plenkách, už teď ale přestáváme rozumět, jak vlastně funguje. To je problém

** Už je to tady, lidé přestávají chápat počítače ** Systémy neuronových sítí začínají pracovat tak, že ani jejich tvůrci přesně neví, co se uvnitř děje ** Do budoucna to může být závažný problém

Včera | Jakub Čížek | 88

Před 35 lety měl premiéru legendární počítač ZX Spectrum. Připomeňte si „Gumáka“

Před 35 lety měl premiéru legendární počítač ZX Spectrum. Připomeňte si „Gumáka“

** Slavný osmibitový počítač Sinclair ZX Spectrum byl uveden právě před 35 lety ** Připomeňte si tento průkopnický počítač v tematických článcích ** Podívejte se, jak funguje dnes

23.  4.  2017 | Pavel Tronner | 13

Český Google Překladač začal používat umělou inteligenci. Konec „drahoušků zákazníků“

Český Google Překladač začal používat umělou inteligenci. Konec „drahoušků zákazníků“

** Google ve svém překladači roky používal statistickou technologii ** Nyní zavádí strojové učení a neuronové sítě ** Rozdíl by měl být zvláště na větších textech patrný už nyní

20.  4.  2017 | Jakub Čížek | 31


Aktuální číslo časopisu Computer

První test AMD Ryzen

Velké testy: 22 powerbank a 8 bezdrátových setů

Radíme s koupí Wi-Fi routeru

Co dokáží inteligentní domy?