05 de junho de 2024
V8, o motor de código desenvolvido pelo Google
Javascript se tornou a linguagem de programação mais importante no mundo do desenvolvimento web; nos permite criar uma aplicação web usando essa mesma linguagem não apenas para desenvolver a parte frontal do site, mas também a parte back-end.
É já algo recorrente o fato de ouvir notícias informando sobre novas bibliotecas ou frameworks dedicados a melhorar ou ampliar a funcionalidade do Javascript.
Por isso, no ano de 2008, coincidindo com o lançamento do atual navegador mais usado: Google Chrome, o Google criou seu próprio interpretador de código Javascript e o chamou de V8.
Mas, como isso funciona e por que um navegador precisa de um interpretador?
Bem, quando se acessa um site a partir de um navegador, ele requer o download de todos os arquivos .js, para ter a noção de todas as instruções a serem executadas. Para isso, e como os navegadores apenas entendem as instruções em código-máquina, é necessário um sistema interpretador que possa “traduzir” todas essas instruções para que possam ser entendidas e então executadas pelo navegador.
O responsável por interpretar as instruções de código Javascript no Google Chrome e empregar processos conhecidos como JIT Compiler é o V8 Engine.
O V8 Engine atualmente, devido à sua grande estabilidade, se tornou o motor de conversão de código Javascript desenvolvido em C++ mais confiável, usado em ferramentas como Microsoft Edge, Chrome e NodeJS.
O motor V8 do Google converte as instruções de Javascript em uma lista de tokens, que posteriormente vai produzir uma Abstract Syntax Tree, representando simplificadamente o código-fonte escrito em Javascript (neste caso), em uma árvore de estrutura. Posteriormente a isso, passará pelo interpretador, que é o que gerará Bytecode e depois interpretará esse Bytecode para poder executá-lo. Também conta com a otimização de seu compilador chamado TurboFan, cuja tarefa principal é tomar instruções processadas e retornadas pelo interpretador para compilá-las para o destino.
Vale dizer também que a partir do Chrome 66, o V8 compila o código-fonte JavaScript em uma thread em segundo plano, reduzindo a quantidade de tempo dedicado à compilação na thread principal entre 5% e 20%.
Dessa forma, revoluciona a maneira de processar Javascript, podendo executá-lo muito mais rápido empregando um interpretador para poder transformar o código e mais tarde um compilador para poder otimizar o resultado final.
Share