Nuovo interprete JavaScript per Webkit
Annunciato sul blog di Webkit, il motore di Safari, l’introduzione di un nuovo interprete JavaScript il cui nome in codice è SquirrelFish.
Il nuovo interprete SquirrelFish è più veloce (1.6 volte più veloce) del precedente interprete JavaScript di WebKit, come evidenziato in un grafico sul blog.
Il precedente interprete JavaScript utilizzato da WebKit per eseguire il codice costruiva, a partire dal codice, un albero sintattico (syntax tree). Quindi l’interprete visitando i nodi eseguiva le operazioni. Questo modello di esecuzione presenta dei costi a run time, ad esempio un albero sintattico descrive la struttura grammaticale del codice, non le operazioni che è necessario fare per eseguirlo. Può quindi succedere che l’interprete visiti ripetutamente durante l’esecuzione dei nodi che non sono utili all’esecuzione. Ad esempio per il seguente frammento di codice: “{ x++; }” l’interprete prima visiterà il nodo corrispondente a “{…}”, durante la quale non sarà compiuta nessuna operazione, e dopo visiterà il nodo corrispondente a “x++” durante la quale sarà incrementato il valore della variabile x.
Squirrelfish, essendo un bytecode engine, elimina quasi tutti questi costi a run time. Ad esempio l’esecuzione del bytecode è molto più veloce della visita di un nodo dell’albero sintattico.
Pubblicato nella Categoria: JavaScript, News, Programmazione.
Tags: bytecode, squirrelfish, webkit.
Commenti