QR code per la pagina originale

Mozilla mette il turbo al JavaScript

Mozilla ha reso noti i primi risultati del progetto TraceMonkey, ideato per rendere il motore JavaScript di Firefox in grado di effettuare una compilazione nativa del codice, con un conseguente drastico aumento delle performance

,

Mozilla ha illustrato i primi risultati del progetto TraceMonkey, evoluzione del motore JavaScript di Firefox (SpiderMonkey), il quale utilizza un nuovo compilatore Just-In-Time (JIT) per incrementare le performance JS del browser. TraceMonkey farà la sua prima apparizione all’interno della versione definitiva di Firefox 3.1 seppur molto probabilmente raggiungerà la sua piena maturità solamente con la versione 4 di Firefox.

Il nuovo motore JavaScript è basato su una tecnica chiamata “trace trees” sviluppata presso la University of California ed è stato realizzato utilizzando codice e idee provenienti dal progetto open source Tamarin Tracing. Seppure si trovi ad uno stadio di sviluppo ancora iniziale, TraceMonkey intende portare le performance JavaScript ad un nuovo livello, in grado di competere con l’esecuzione di codice nativo. Gli incrementi relativi alla velocità di esecuzione di codice JS rispetto a Firefox 3 mostrano diversi indici di magnitudo, in relazione al benchmark utilizzato, mostrando margini di miglioramento decisamente notevoli (sino a quasi 40 volte più veloce) e altri decisamente interessanti, seppur non così eclatanti. TraceMonkey è comunque allo stato attuale ancora ricco di bug e il margine per l’ottimizzazione del codice è enorme.

Mike Schroepfer, VP of Engineering a Mozilla Corp, ha introdotto all’interno del suo blog un filmato in grado di illustrare chiaramente il guadagno in termini di performance ottenuto da TraceMonkey. Rispetto all’attuale versione 3 del browser, il nuovo compilatore JIT permette di manipolare l’immagine proposta 7 volte più velocemente, aumentando nettamente l’usabilità dell’applicativo. Se il progetto rispetterà le aspettative, sarà presto possibile realizzare veri e propri applicativi JavaScript in grado di competere in quanto ad esperienza utente con quanto realizzato tramite plug-in esterni, quali Adobe Flash o Microsoft SilverLight.