Google è grande 2 miliardi di righe di codice, 40 volte quelle di Windows XP

Google è grande 2 miliardi di righe di codice, 40 volte quelle di Windows XP

Un dirigente Google ha rivelato alcuni dettagli "segreti" della compagnia. Nello specifico, ha rivelato che il code base su cui si basano i suoi servizi è grande 2 miliardi di righe di codice, un numero non paragonabile a nessun'altra repository

di pubblicata il , alle 13:31 nel canale Web
Google
 

Il codebase di Google è composto da circa 2 miliardi di righe di codice, tutte stipate in un'unica repository. A rivelare la particolare informazione è stata Rachel Potvin, engineering manager per la compagnia di Mountain View, durante la conferenza @Scale. La dirigente sostiene che con molte probabilità quello di Google sia il più grande codebase presente sul pianeta.

Con il termine si intende tutto il codice sorgente appartenente ad un'applicazione o servizio scritto in proprio, quindi scevro dal codice ad esempio recuperato esternamente o generato attraverso tool specifici. Nel caso di Google, questo è necessario per eseguire tutti i servizi online offerti dalla società, e la sua complessità ci fa capire quanto siano intricate le procedure che stanno dietro ad una ricerca Google, o ad un percorso calcolato da Google Maps.

"Dietro una semplice pagina di risultati si nasconde un sistema complesso e progettato in maniera certosina che supporta più di cento miliardi di ricerche ogni mese", scrive Google. E tutto questo grazie ad un "enorme, singolo codebase" che viene eseguito su 10 differenti datacenter. Google lo chiama "modello monolitico di repository", con il quale gestisce tutto il software online proposto agli utenti, partendo da Google Docs per arrivare a Maps, Gmail o YouTube. L'accesso al codice è limitato ad un numero ristrettissimo di sviluppatori interni.

Stando alla dirigente del colosso americano, se confrontato con la complessità di un sistema operativo desktop, come ad esempio Windows XP, il codebase di Google è grande almeno 40 volte quello di Microsoft (circa 50 milioni di righe di codice), e circa 100 volte quello di Facebook. Gli ingegneri di Google modificano e aggiornano circa 15 milioni di codici ogni settimana, sia come "manutenzione" che per seguire l'evoluzione della rete, ma naturalmente questo avviene con l'ausilio di bot sviluppati ad-hoc.

Google ha progettato un sistema di controllo chiamato Piper per ospitare l'intero codebase e permettere a circa 25 mila sviluppatori di contribuire attivamente: "In circa otto anni, la nostra repository è cresciuta di interi ordini di grandezza praticamente in ogni aspetto", ha dichiarato Potvin. "E ci sono state volte nella storia di Google in cui non eravano sicuri di essere in grado di sostenere questo livello di crescita". Per maggiori dettagli sui numeri di Google vi invitiamo a visionare il video (in lingua inglese) riportato nella pagina.

33 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
gd350turbo18 Settembre 2015, 14:15 #1
Giusto...
;
Quella di sopra è una riga !
bobafetthotmail18 Settembre 2015, 14:34 #2
in genere chi programma non fa righe lunghe, per ragioni di leggibilità.


Che un motore di ricerca sia più complesso di un OS obsoleto non è neanche una novità.
cignox118 Settembre 2015, 14:35 #3
Ah, i bei tempi in cui anche i software piú interessanti ed innovativi non erano piú grandi di 100 mila righe di codice!
the_joe18 Settembre 2015, 14:37 #4
Originariamente inviato da: cignox1
Ah, i bei tempi in cui anche i software piú interessanti ed innovativi non erano piú grandi di 100 mila righe di codice!


Perchè?

Oppure credi che oggi i programmatori si divertano a scrivere righe di codice così per fare?
CrapaDiLegno18 Settembre 2015, 15:17 #5
in genere chi programma non fa righe lunghe, per ragioni di leggibilità.

In genere, per certi progetti, le regole per quanto riguarda lunghezza, presenza e posizione delle parentesi e di mille altre cose è definita usando uno standard.
Per esempio si può imporre che per ogni IF ci sia anche il relativo ELSE anche se questo è vuoto, o le regole che impongono quante e come dividere le istruzioni su ciascuna linea.
Tipo le regole MISRA-C, per chi ne è a conoscenza.
CrapaDiLegno18 Settembre 2015, 15:27 #6
Originariamente inviato da: the_joe
Perchè?

Oppure credi che oggi i programmatori si divertano a scrivere righe di codice così per fare?


No, ma da programmatore di vecchia data mi accorgo sempre più che buona parte del codice che scrivo ultimamente serve per soddisfare le richieste di standard, protocolli e vincoli dei framework usati che una volta non erano richiesti.
Sono linee di codice da scrivere (e tonnellate di pagine da leggere prima) per poter fare anche la cosa più semplice.
Meglio, peggio di quando scrivere Hello Word non comportava di dover usare almeno 200 linee di codice prefabbricato dall'IDE per gestire tutte le complessità di Windows e del suo modo di presentarsi al programmatore?
Mah, non so. So solo che io oggi metà di quello che creo sotto Windows è creato in automatico da VS e metà dell'altra metà è codice che scrivo per soddisfare Windows stesso, e alla fine solo un pezzettino del codice che faccio è quello che ho pensato come la soluzione per il problema che volevo risolvere.

Quindi no, il programmatore oggi non scrive codice così per fare, ma volente o nolente ne deve sfornare di più di quello che apparentemente servirebbe.
acerbo18 Settembre 2015, 16:50 #7
ma che discorsi fate? mica é un unico sorgente da 2 miliardi di righe, tutto é organizzato a package, moduli, classi e ci sarà di tutto immagino, da java a javascripts, da C a perl, passando per python ecc ...
Solo per la parte java le loro API pubbliche faranno già un bel mattone di linee di codice
s0nnyd3marco18 Settembre 2015, 18:13 #8
Originariamente inviato da: Bivvoz
Ma righe lunghe quanto?


Ovviamente al massimo ottanta caratteri
Superboy18 Settembre 2015, 20:33 #9
Originariamente inviato da: bobafetthotmail
in genere chi programma non fa righe lunghe, per ragioni di leggibilità.


Che un motore di ricerca sia più complesso di un OS obsoleto non è neanche una novità.


Lol
rattopazzo18 Settembre 2015, 20:39 #10
Ma perchè prendere per esempio proprio windows XP?

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^