Saltar al contenido principal

36 publicaciones etiquetados con "internals"

Ver Todas las Etiquetas

Rápido `for`-`in` en V8

· 15 min de lectura
Camillo Bruni ([@camillobruni](http://twitter.com/camillobruni))

for-in es una característica del lenguaje ampliamente utilizada en muchos marcos de trabajo. A pesar de su ubicuidad, desde la perspectiva de la implementación, es una de las construcciones del lenguaje más oscuras. V8 hizo grandes esfuerzos para que esta característica fuera lo más rápida posible. En el transcurso del último año, for-in se volvió totalmente compatible con las especificaciones y hasta tres veces más rápido, dependiendo del contexto.

¡Ayúdanos a probar el futuro de V8!

· 3 min de lectura
Daniel Clifford ([@expatdanno](https://twitter.com/expatdanno)), Cervecero Original de V8 en Múnich

El equipo de V8 está trabajando actualmente en una nueva canalización de compiladores predeterminada que nos ayudará a ofrecer mejoras de velocidad futuras para JavaScript en el mundo real. Puedes probar la nueva canalización en Chrome Canary hoy mismo para ayudarnos a verificar que no haya sorpresas cuando implementemos la nueva configuración para todos los canales de Chrome.

Acelerando las expresiones regulares en V8

· 5 min de lectura
Jakob Gruber, Ingeniero de Software Regular

Esta publicación del blog aborda la reciente migración de las funciones integradas de RegExp en V8 de una implementación autohospedada en JavaScript a una que se conecta directamente a nuestra nueva arquitectura de generación de código basada en TurboFan.

Encendiendo el intérprete Ignition

· 5 min de lectura
Ross McIlroy, V8 Ignition Jump Starter

V8 y otros motores JavaScript modernos obtienen su velocidad mediante la compilación justo a tiempo (JIT) del script al código máquina nativo inmediatamente antes de la ejecución. Inicialmente, el código es compilado por un compilador base, que puede generar código máquina no optimizado rápidamente. El código compilado es analizado durante el tiempo de ejecución y, opcionalmente, recompilado dinámicamente con un compilador avanzado optimizador para mejorar el rendimiento. En V8, esta línea de ejecución del script tiene una variedad de casos especiales y condiciones que requieren maquinaria compleja para alternar entre el compilador base y dos compiladores optimizadores, Crankshaft y TurboFan.

Hay `Math.random()`, y luego hay `Math.random()`

· 5 min de lectura
Yang Guo ([@hashseed](https://twitter.com/hashseed)), ingeniero de software y diseñador de dados

Math.random() devuelve un valor de tipo Number con signo positivo, mayor o igual a 0 pero menor que 1, elegido aleatoriamente o pseudo-aleatoriamente con una distribución aproximadamente uniforme en ese rango, utilizando un algoritmo o estrategia dependiente de la implementación. Esta función no toma argumentos.

Obteniendo recolección de basura gratis

· 10 min de lectura
Hannes Payer y Ross McIlroy, Recolectores de Basura Inactivos

El rendimiento de JavaScript sigue siendo uno de los aspectos clave de los valores de Chrome, especialmente cuando se trata de ofrecer una experiencia fluida. A partir de Chrome 41, V8 aprovecha una nueva técnica para aumentar la capacidad de respuesta de las aplicaciones web ocultando operaciones costosas de gestión de memoria dentro de pequeños fragmentos de tiempo inactivo y no utilizados. Como resultado, los desarrolladores web deberían esperar un desplazamiento más suave y animaciones fluidas con una reducción significativa de los bloqueos debido a la recolección de basura.