Saltar al contenido principal

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.

V8 en la conferencia BlinkOn 6

· 3 min de lectura
el equipo de V8

BlinkOn es una reunión semestral de los colaboradores de Blink, V8 y Chromium. BlinkOn 6 se llevó a cabo en Múnich el 16 y 17 de junio. El equipo de V8 ofreció varias presentaciones sobre arquitectura, diseño, iniciativas de rendimiento e implementación del lenguaje.

Lanzamiento de V8 v5.3

· 4 min de lectura
el equipo de V8

Aproximadamente cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se toma de la rama principal de Git de V8 inmediatamente antes de que Chrome cree una rama para un hito de Chrome Beta. Hoy nos complace anunciar nuestra nueva rama, la versión 5.3 de V8, que estará en beta hasta que se lance en coordinación con Chrome 53 Stable. V8 v5.3 está llena de todo tipo de novedades para desarrolladores, por lo que nos gustaría ofrecerte un adelanto de algunos de los aspectos destacados en anticipación al lanzamiento en varias semanas.

Lanzamiento de V8 v5.2

· 2 min de lectura
el equipo de V8

Aproximadamente cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se ramifica desde el Git master de V8 inmediatamente antes de que Chrome se ramifique para un hito de Chrome Beta. Hoy estamos encantados de anunciar nuestra nueva rama, V8 versión 5.2, que estará en beta hasta que se lance en coordinación con Chrome 52 Estable. V8 5.2 está lleno de todo tipo de novedades orientadas a desarrolladores, por lo que nos gustaría ofrecerles un adelanto de algunos de los aspectos más destacados en anticipación a su lanzamiento en varias semanas.

ES2015, ES2016 y más allá

· 10 min de lectura
el equipo de V8, Entusiastas de ECMAScript

El equipo de V8 da gran importancia a la evolución de JavaScript hacia un lenguaje cada vez más expresivo y bien definido que facilite la escritura de aplicaciones web rápidas, seguras y correctas. En junio de 2015, el especificación ES2015 fue ratificada por el comité de estándares TC39, convirtiéndose en la mayor actualización única del lenguaje JavaScript. Las nuevas características incluyen clases, funciones flecha, promesas, iteradores / generadores, proxies, símbolos bien conocidos y azúcar sintáctico adicional. TC39 también ha incrementado la frecuencia de nuevas especificaciones y lanzó el borrador candidato para ES2016 en febrero de 2016, para ser ratificado este verano. Aunque no tan expansiva como la actualización de ES2015 debido al ciclo de lanzamiento más corto, ES2016 introduce notablemente el operador de exponenciación y Array.prototype.includes.

Lanzamiento de V8 v5.1

· 4 min de lectura
el equipo de V8

El primer paso en el proceso de lanzamiento de V8 es crear una nueva rama desde el maestro de Git inmediatamente antes de que Chromium haga una rama para una versión beta de Chrome (aproximadamente cada seis semanas). Nuestra más reciente rama de lanzamiento es V8 v5.1, que permanecerá en beta hasta que publiquemos una versión estable en conjunto con Chrome 51 Stable. Aquí hay un resumen de las nuevas características orientadas a desarrolladores en esta versión de V8.

Jank Busters Parte Dos: Orinoco

· 7 min de lectura
los jank busters: Ulan Degenbaev, Michael Lippautz y Hannes Payer

En una entrada de blog anterior, presentamos el problema del jank causado por la recolección de basura, que interrumpe una experiencia de navegación fluida. En esta entrada de blog introducimos tres optimizaciones que establecen las bases para un nuevo recolector de basura en V8, llamado Orinoco. Orinoco se basa en la idea de implementar un recolector de basura mayormente paralelo y concurrente sin límites generacionales estrictos, lo que reducirá el jank de la recolección de basura y el consumo de memoria, mientras proporciona un alto rendimiento. En lugar de implementar Orinoco detrás de una bandera como un recolector de basura separado, decidimos enviar las características de Orinoco de manera incremental en la rama principal de V8 para beneficiar a los usuarios de inmediato. Las tres características discutidas en esta publicación son compactación paralela, procesamiento paralelo del conjunto recordado y asignación negra.

Lanzamiento de V8 v5.0

· 3 min de lectura
el equipo de V8

El primer paso en el proceso de lanzamiento de V8 es una nueva rama desde el Git master justo antes de que Chromium divida una rama para un hito Beta de Chrome (aproximadamente cada seis semanas). Nuestra última rama de lanzamiento es V8 v5.0, la cual permanecerá en beta hasta que lancemos una versión estable junto con Chrome 50 Stable. Aquí hay un resumen de las nuevas características dirigidas a los desarrolladores en esta versión de V8.

Soporte experimental para WebAssembly en V8

· 3 min de lectura
Seth Thompson, Responsable de WebAssembly

Para una descripción completa de WebAssembly y una hoja de ruta para la colaboración comunitaria futura, vea Un hito de WebAssembly en el blog de Mozilla Hacks.

Desde junio de 2015, colaboradores de Google, Mozilla, Microsoft, Apple y el Grupo Comunitario de WebAssembly del W3C han estado trabajando arduamente diseñando, especificando, e implementando (1, 2, 3, 4) WebAssembly, un nuevo tiempo de ejecución y objetivo de compilación para la web. WebAssembly es un bytecode de bajo nivel y portátil diseñado para codificarse en un formato binario compacto y ejecutarse a casi la velocidad nativa en una zona de pruebas segura para la memoria. Como una evolución de tecnologías existentes, WebAssembly está estrechamente integrado con la plataforma web, así como también es más rápido para descargar por la red y más rápido de instanciar que asm.js, un subconjunto de JavaScript de bajo nivel.

Aserciones lookbehind en RegExp

· 4 min de lectura
Yang Guo, Ingeniero de Expresiones Regulares

Introducidas con la tercera edición de la especificación ECMA-262, las expresiones regulares han sido parte de JavaScript desde 1999. En términos de funcionalidad y expresividad, la implementación de las expresiones regulares en JavaScript refleja aproximadamente la de otros lenguajes de programación.