Il team che sviluppa WebKit, il motore per browser web utilizzato per il rendering delle pagine web in Safari e altre applicazioni, ha ufficialmente presentato FTL JIT, progetto sperimentale che si prefigge di risolvere alcune problematiche relative a JavaScript in modo del tutto nuovo.
La novità principale è lo sfruttamento di un engine che ora usa LLVM come compilatore Just in Time (JIT), permettendo di ottenere prestazioni in precedenza possibili solo con applicazioni native scritte in linguaggi quali C++ oppure Objective-C. Gli sviluppatori spiegano che nella ricerca di modalità per ottimizzare il WebKit, si sono trovati difronte a problemi simili a quelli già affrontati dai tradizionali compilatori AOT (ahead-of-time). Molti linguaggi possono essere compilati in un linguaggio intermedio traendo vantaggio dalla ricompilazione dinamica (JIT); in poche parole il codice intermedio viene compilato nel codice binario durante l’esecuzione del programma, migliorando le prestazioni rispetto al codice interpretato.
Gli sviluppatori hanno sfruttato allo scopo LLVM, esistente infrastruttura di compilazione di basso livello, ottenendo notevoli vantaggi in termini di prestazioni. Il JIT è abilitato nelle nightly build (versioni preliminari) del WebKit per iOS e OS X ma è ancora troppo presto per sapere quando lo vedremo integrato in Safari. Il progetto è ad ogni modo ambizioso e interessante e mostra quanto Apple sia attenta a volere che il suo browser web sia sempre efficiente. Sarà interessante seguire gli sviluppi nei mesi seguenti. Ai più esperti raccomandiamo le spiegazioni tecniche sul post del blog Surfin’ Safari.