WebKit dovrebbe avere presto una nuova funzionalità pensata per migliorare le prestazioni, un nuovo compilatore Just-In-Time (JIT) in grado di velocizzare ulteriormente – e sensibilmente – l’esecuzione del codice JavaScript (JS) sui browser basati sul popolare layout engine open source.
Come gli altri engine per browser moderni, WebKit (Apple Safari, Amazon Kindle ecc.) utilizza la compilazione “al volo” degli engine JIT per trasformare i listati JavaScript in codice eseguibile ottimizzato.
FTL (Fourth Tier LLVM), il nuovo compilatore JIT in oggetto, va ad aggiungersi ai due compiler JIT già inclusi in WebKit per permettere a particolari script JS di raggiungere prestazioni teoricamente comparabili a quelle ottenibili con i linguaggi nativi come C e C++.
FTL è infatti un compilatore LLVM (Low Level Virtual Machine) che entra in gioco solo nel caso in cui i precedenti livelli di esecuzione JS in WebKit non siano sufficienti a ottimizzare il codice particolarmente complesso, quello in cui una funzione JS viene usata più di sei volte (primo livello di compilazione JIT), più di 66 volte (secondo livello JIT) e un numero ancora superiore di volte.
Il risultato dell’utilizzo di FTL – un processo che comunque richiede molto più tempo degli altri compilatori presenti in WebKit – è un incremento di prestazioni del 4000% rispetto all’interprete JS di base, e un terzo del tempo in meno necessario per l’esecuzione del codice compilato con l’engine JIT di secondo livello.
Via | Ars Technica