Saltar al contenido principal

2 publicaciones etiquetados con "análisis"

Ver Todas las Etiquetas

Análisis increíblemente rápido, parte 2: análisis perezoso

· 16 min de lectura
Toon Verwaest ([@tverwaes](https://twitter.com/tverwaes)) y Marja Hölttä ([@marjakh](https://twitter.com/marjakh)), parsers más ligeros

Esta es la segunda parte de nuestra serie que explica cómo V8 analiza JavaScript lo más rápido posible. La primera parte explicó cómo hicimos rápido el escáner de V8.

El análisis es el paso en el que el código fuente se convierte en una representación intermedia que es consumida por un compilador (en V8, el compilador de bytecode Ignition). El análisis y la compilación ocurren en la ruta crítica del inicio de la página web, y no todas las funciones enviadas al navegador son necesarias de inmediato durante el inicio. Aunque los desarrolladores pueden retrasar dicho código con scripts async y deferred, eso no siempre es factible. Además, muchas páginas web envían código que solo es utilizado por ciertas características que un usuario puede ni siquiera acceder durante una ejecución individual de la página.

Análisis extremadamente rápido, parte 1: optimizando el escáner

· 12 min de lectura
Toon Verwaest ([@tverwaes](https://twitter.com/tverwaes)), optimizador escandaloso

Para ejecutar un programa de JavaScript, el texto fuente necesita ser procesado para que V8 pueda entenderlo. V8 comienza analizando el texto fuente en un árbol de sintaxis abstracta (AST), un conjunto de objetos que representan la estructura del programa. Ese AST se compila en bytecode mediante Ignition. El rendimiento de estas fases de análisis + compilación es importante: V8 no puede ejecutar código antes de que la compilación esté terminada. En esta serie de publicaciones en el blog, nos enfocamos en el análisis y el trabajo realizado en V8 para entregar un analizador extremadamente rápido.