La velocità di esecuzione di JavaScript è un fattore decisivo in un browser web. Questi script permettono di modificare il comportamento di una pagina web, creare effetti dinamici interattivi, creare applicazioni complete. Le pagine web che sfruttano JavaScript sono più pesanti da caricare rispetto ad altre tecnologie, ma il suo uso lato client è molto diffuso anche semplicemente per rimpiazzare al volo immagini, creare finestre pop-up, convalidare il contenuto dei moduli e molto altro ancora.
Tutti i big del settore sono da tempo impegnati nel migliorare le prestazioni JavaScript; Chrome è spesso stato in testa grazie al motore V8, nato con lo scopo di offrire performance elevate. I concorrenti nel frattempo hanno migliorato gli engine equivalenti e per rimanere al passo Google sta lavorando a un nuovo ambizioso progetto denominato TurboFan, promettendo ancora maggiore velocità. TurboFan non ha, almeno per il momento, l’ambizione di sostituire V8 (ma l’obiettivo finale è ad ogni modo quello). Google si limiterà per il momento a usarlo per alcuni compiti specifici dove ha dimostrato di essere più valido rispetto al “fratello”. A partire da Chrome 41, TurboFan è stato abilitato di default per l’esecuzione di alcuni compiti, velocizzando in generale le performance.
Gli sviluppatori affermano di avere implementato alcune funzionalità uniche, migliorie che permettono di ottenere ottimizzazioni nell’esecuzione del codice migliori rispetto al predecessore supportando flessibilità, dinamicità e funzioni che facilitano la manutenzione e l’implementazione di contributi. Abilitando TurboFan per alcune tipologie di codice (es. asm.js) si dimostra come, eseguendo un benchmark con Octane le prestazioni presentano migliorie del 29%. In futuro Google vuole abilitare TurboFan per più tipi di JavaScript, con l’obiettivo finale di sostituire in toto il compilatore attuale CrankShaft. Abbiamo eseguito velocemente dei test e al momento la versione preliminare di Chrome 45 è effettivamente più veloce sia di Safari 9 beta, sia di Firefox 40 beta.