Sistemes i DevOps

V8, el motor de codi desenvolupat per Google.

Després de la seva recent actualització a la versió 8, parlem del funcionament i característiques principals del V8 Engine de Google.

V8, el motor de codi desenvolupat per Google.
Mario Garcia
Mario Garcia

març 04, 2021

Javascript s'ha convertit en el llenguatge de programació més important en el món del desenvolupament web; ens permet crear una aplicació web usant aquest mateix llenguatge ja no sols per a desenvolupar la part frontal del lloc, sinó també la part back-end.

És ja una cosa recurrent el fet d'escoltar notícies informant de noves llibreries o frameworks dedicats a millorar o ampliar la funcionalitat de Javascript.

Per això, l'any 2008, coincidint amb el llançament de l'actual navegador més usat: Google Chrome, Google va crear el seu propi intèrpret de codi Javascript i ho va anomenar V8.

Però, com funciona això i per què requereix un navegador d'un intèrpret?

Bé; quan s'accedeix a un lloc web des d'un navegador, aquest requereix de la descàrrega de tots els arxius .js, per a tenir la noció de totes les instruccions a executar. Per a això, i com els navegadors únicament entenen les instruccions en codi-màquina, requereix d'un sistema intèrpret que pugui “traduir” totes aquestes instruccions perquè puguin ser enteses i llavors executades per part del navegador.

Doncs el responsable d'interpretar les instruccions de codi Javascript en Google Chrome i emprar processos coneguts com JIT Compiler és el V8 Engine.

V8 Engine actualment i arran de la seva gran estabilitat s'ha convertit en el motor de conversió de codi Javascript desenvolupat en C++ més fiable, usat en eines com Microsoft Edge, Chrome i NodeJS.

El motor V8 de Google converteix les instruccions de Javascript en una llista de tokens, que posteriorment produirà un Abstract Syntax Tree, representant simplificadament el codi font escrit en Javascript (en aquest cas), en un arbre d'estructura. Posteriorment a això, passarà per l'intèrpret, que és el que generarà Bytecode i després interpretarà aquest Bytecode per a poder executar-ho. També compta amb l'optimització del seu compilador anomenat TurboFan, la tasca principal del qual és prendre instruccions processades i retornades per part de l'intèrpret per a compilar-les per al destí.

Cal dir també que a partir de Chrome 66, V8 compila el codi font Javascript en un fil en segon pla, reduint la quantitat de temps dedicat a compilar en el fil principal entre un 5% i un 20%.

D'aquesta manera, revoluciona la manera de processar Javascript, podent-ho executar molt més ràpid emprant un intèrpret per a poder transformar el codi i més tard un compilador per a poder optimitzar el resultat final.

Comparteix aquest article

Articles Relacionats