Sistemas y DevOps

V8, el motor de código desarrollado por Google

Tras su reciente actualización a la versión 8, hablamos del funcionamiento y características principales del V8 Engine de Google.

Javascript se ha convertido en el lenguaje de programación más importante en el mundo del desarrollo web; nos permite crear una aplicación web usando este mismo lenguaje ya no solo para desarrollar la parte frontal del sitio, sino también la parte back-end.

Es ya algo recurrente el hecho de escuchar noticias informando de nuevas librerías o frameworks dedicados a mejorar o ampliar la funcionalidad de Javascript.

Por eso, en el año 2008, coincidiendo con el lanzamiento del actual navegador más usado: Google Chrome, Google creó su propio intérprete de código Javascript y lo llamó V8.

Pero, ¿cómo funciona esto y por qué requiere un navegador de un intérprete?

Bien; cuando se accede a un sitio web desde un navegador, este requiere de la descarga de todos los archivos .js, para tener la noción de todas las instrucciones a ejecutar. Para ello, y como los navegadores únicamente entienden las instrucciones en código-máquina, requiere de un sistema intérprete que pueda “traducir” todas estas instrucciones para que puedan ser entendidas y entonces ejecutadas por parte del navegador.

Pues el responsable de interpretar las instrucciones de código Javascript en Google Chrome y emplear procesos conocidos como JIT Compiler es el V8 Engine.

V8 Engine actualmente y a raíz de su gran estabilidad se ha convertido en el motor de conversión de código Javascript desarrollado en C++ más fiable, usado en herramientas como Microsoft Edge, Chrome y NodeJS.

El motor V8 de Google convierte las instrucciones de Javascript en una lista de tokens, que posteriormente va a producir un Abstract Syntax Tree, representando simplificadamente el código fuente escrito en Javascript (en este caso), en un árbol de estructura. Posteriormente a esto, pasará por el intérprete, que es el que generará Bytecode y luego interpretará este Bytecode para poder ejecutarlo. También cuenta con la optimización de su compilador llamado TurboFan, cuya tarea principal es tomar instrucciones procesadas y retornadas por parte del intérprete para compilarlas para el destino.

Cabe decir también que a partir de Chrome 66, V8 compila el código fuente JavaScript en un hilo en segundo plano, reduciendo la cantidad de tiempo dedicado a compilar en el hilo principal entre un 5% y un 20%

De esta forma, revoluciona la manera de procesar Javascript, pudiéndolo ejecutar mucho más rápido empleando un intérprete para poder transformar el código y más tarde un compilador para poder optimizar el resultado final

Comparte este artículo

Artículos Relacionados