Social Network

Post in Rilievo

Post Recenti




Post Random

Traduzione

Italiano flagArabo flagCinese (Semplificato) flagOlandese flagInglese flagFrancese flagTedesco flagGiapponese flagCoreano flagPolacco flagPortoghese flagRusso flagSpagnolo flagTurco flag

Calendario

giugno: 2008
L M M G V S D
« mag   lug »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Archivio

Categorie

Nuovo interprete JavaScript per Webkit

Pubblicato: il 8 giugno 2008.       Ultima Modifica: il 8 giugno 2008.          


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: , , .
Commenti



Leave a Reply


:alien: :angel: :angry: :blink: :blush: :cheerful: :cool: :cwy: :devil: :dizzy: :ermm: :face: :getlost: :biggrin: :happy: :heart: :kissing: :lol: :ninja: :pinch: :pouty: :sad: :shocked: :sick: :sideways: :silly: :sleeping: :smile: :tongue: :unsure: :w00t: :wassat: :whistle: :wink: :wub: