Nel corso delle ultime due settimane, Google ha rilasciato diverse versioni “development” del suo browser Chrome 3. Ogni nuova release ha evidenziato significative migliorie per ciò che riguarda le performance, soprattutto su Windows XP. Ma perché Google sembra voler ottimizzare il funzionamento del suo browser soprattutto su Windows XP, sistema operativo che – con il rilascio di Windows 7 – Microsoft è destinata a porsi alle spalle?
La principale motivazione potrebbe risiedere nell’interesse di Google per il mondo dei sistemi netbook. I dispositivi ultracompatti quali sono i netbook sembrano essere divenuti uno dei campi di battaglia sui quali il colosso fondato da Larry Page e Sergey Brin desidera investire di più. Basti pensare al recente annuncio di un sistema operativo – Chrome OS – targato Google.
Per quanto riguarda la versione stabile 2.x di Chrome, Google ha provveduto alla risoluzione di due bug di sicurezza legati al motore WebKit (utilizzato anche da Apple Safari e da altre applicazioni).
Il colosso di Mountain View sta lavorando anche sull’implementazione di uno speciale algoritmo che renderà più snella procedura di download ed installazione degli aggiornamenti per il browser Chrome. L’algoritmo, denominato “Courgette”, ridurrà il carico di lavoro sia a livello server che l’impatto sulla rete. Come spiega Stephen Adams, fino ad oggi Google impiegava l’algoritmo “bsdiff” per stabilire le differenze esistenti tra la versione di Chrome installata e quella a disposizione sui server dell’azienda. “Siamo grandi fan di bsdiff: è molto compatto e funziona meglio di qualunque altro approccio da noi provato”, ha commentato Adams.
Purtuttavia, il quantitativo di dati generato in seguito alla comparazione tra i file binari di Chrome è comunque troppo elevato. Courgette si prefigge di superare l’ostacolo operando come una sorta di “disassemblatore”: l’algoritmo è capace di individuare i puntatori interni e generare del codice pseudo-assembler. In questo modo semplici modifiche sul codice di Chrome non implicheranno il download di dati di fatto superflui. Lato client, Courgette usa un meccanismo “assembler” per generare ed applicare il codice del browser aggiornato.
I tecnici di Google offrono qualche dato numerico: un aggiornamento per Chrome che utilizzando “bsdiff” pesava circa 700 KB, può essere agevolmente ridotto, usando l’algoritmo Courgette, a soli 79 KB.