Dissecando o Navegador (Parte 2) - O Motor V8, Event Loop e o Coletor de Lixo
Fala, comunidade dev! đź‘‹ Na Parte 1 desta sĂ©rie, saĂmos da superfĂcie do HTML e descemos atĂ© a Arquitetura Multi-Processo do navegador. Vimos como a Main Thread e a placa de vĂdeo (GPU) brigam para...

Source: DEV Community
Fala, comunidade dev! đź‘‹ Na Parte 1 desta sĂ©rie, saĂmos da superfĂcie do HTML e descemos atĂ© a Arquitetura Multi-Processo do navegador. Vimos como a Main Thread e a placa de vĂdeo (GPU) brigam para colocar pixels na tela a 60 quadros por segundo. Mas onde entra o JavaScript nessa histĂłria? Como o seu cĂłdigo em TypeScript vira eletricidade e lĂłgica no processador do usuário? Hoje vamos abrir o capĂ´ do Motor V8 (Google Chrome / Node.js), entender o verdadeiro Event Loop e descobrir por que o Coletor de Lixo (Garbage Collector) pode ser o vilĂŁo silencioso da sua performance. 1. O Pipeline do V8: De Texto a CĂłdigo de Máquina O seu navegador nĂŁo entende JavaScript. Ele entende cĂłdigo de máquina (0s e 1s). O papel do Motor V8 (escrito em C++) Ă© fazer essa tradução na velocidade da luz. Mas ele nĂŁo faz isso de uma vez sĂł. Ele usa uma estratĂ©gia de dois nĂveis: A. O Parser e a AST: Primeiro, o V8 lĂŞ o seu arquivo .js e o transforma em uma árvore estruturada chamada Abstract Syntax Tree (AST).