Mozilla sta sviluppando una versione altamente ottimizzata di SpiderMonkey, l’interprete JavaScript incluso in FireFox, grazie al quale sarà possibile ottenere (in determinati contesti) miglioramenti in termini di performance dal 20% al 40%.
In un’intervista ad Ars Technica, Brendan Eich (il “papà ” di JavaScript) e Mike Shaver, rispettivamente CTO e vice president engineering di Mozilla, affermano che la nuova tecnica di ottimizzazione “permetterà di ottenere applicazioni prima impensabili”, grazie ad una velocità di esecuzione “comparabile a quella di applicazioni native”.
I benefici della nuova tecnica di ottimizzazione si potranno vedere con la futura versione 3.1 del prodotto. La tecnica utilizzata sfrutta un sistema denominato “tracing optimization” sviluppato originariamente dal Dr. Michael Franz e dal Dr. Andras Gal, dell’Irvine University della California. Dal punto di vista tecnico, in sostanza il meccanismo memorizza il percorso eseguito in fase di runtime e genera codice compilato riusabile ogni qual volta, in fase di esecuzione, è raggiunto un determinato percorso. Il sistema rende possibile l’esecuzione veloce di loop e il richiamo di routine nidificate in modo più efficiente rispetto a quanto sia possibile ottenere con le tradizionali tecniche di ottimizzazione.
Gli sviluppatori hanno pubblicato un video nel quale è mostrata l’esecuzione di un’applicazione con l’attuale versione di FireFox e la versione in questo momento in beta. La differenza di esecuzione di alcuni comandi avviando una web-application per il ritocco delle foto è impressionante: con l’attuale versione di FireFox si nota un notevole ritardo nell’esecuzione, con la versione in fase di test i comandi sembrano essere eseguiti in tempo reale.
Anche Apple sta lavorando a una versione di Safari altamente ottimizzata per l’esecuzione di codice JavaScript: la prossima release del browser sfrutterà SquirrelFish, una virtual machine performante e molto promettente che vedrà la luce con ogni probabilità contestualmente al rilascio della versione 4 del programma.
[A cura di Mauro Notarianni]