Saltar al contenido principal

Ordenando las cosas en V8

· 20 min de lectura
Simon Zünd ([@nimODota](https://twitter.com/nimODota)), comparador consistente

Array.prototype.sort fue una de las últimas funciones integradas implementadas en JavaScript autohospedado en V8. Trasladarlo nos dio la oportunidad de experimentar con diferentes algoritmos y estrategias de implementación y finalmente hacerlo estable en V8 v7.0 / Chrome 70.

Mejorando el rendimiento de `DataView` en V8

· 10 min de lectura
Théotime Grohens, <i lang="fr">le savant de Data-Vue</i>, y Benedikt Meurer ([@bmeurer](https://twitter.com/bmeurer)), profesional en rendimiento

DataViews son una de las dos maneras posibles de realizar accesos a memoria de bajo nivel en JavaScript, siendo la otra los TypedArrays. Hasta ahora, los DataView estaban mucho menos optimizados que los TypedArray en V8, lo que resultaba en un menor rendimiento en tareas como cargas de trabajo intensivas gráficamente o al decodificar/codificar datos binarios. Las razones de esto han sido principalmente elecciones históricas, como el hecho de que asm.js eligió TypedArray en lugar de DataView, incentivando a los motores a centrarse en el rendimiento de los TypedArray.

Celebrando 10 años de V8

· 15 min de lectura
Mathias Bynens ([@mathias](https://twitter.com/mathias)), historiador de V8

Este mes marca el décimo aniversario del lanzamiento no solo de Google Chrome, sino también del proyecto V8. Esta publicación ofrece un resumen de los hitos principales del proyecto V8 en los últimos 10 años, así como los años anteriores, cuando el proyecto aún era secreto.

Liftoff: un nuevo compilador base para WebAssembly en V8

· 16 min de lectura
Clemens Backes, maestro de la compilación de WebAssembly

V8 v6.9 incluye Liftoff, un nuevo compilador base para WebAssembly. Liftoff ahora está habilitado de forma predeterminada en sistemas de escritorio. Este artículo detalla la motivación para agregar otro nivel de compilación y describe la implementación y el rendimiento de Liftoff.

Integrados incorporados

· 13 min de lectura
Jakob Gruber ([@schuay](https://twitter.com/schuay))

Las funciones integradas de V8 (builtins) consumen memoria en cada instancia de V8. La cantidad de integrados, el tamaño promedio y el número de instancias de V8 por pestaña del navegador Chrome han crecido significativamente. Esta publicación de blog describe cómo reducimos el tamaño mediano del montón de V8 por sitio web en un 19% durante el último año.

Lanzamiento de V8 v6.9

· 5 min de lectura
El equipo de V8

Cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se ramifica desde el Git maestro de V8 inmediatamente antes de un hito de Chrome Beta. Hoy nos complace anunciar nuestra nueva rama, versión 6.9 de V8, que estará en beta hasta su lanzamiento en coordinación con Chrome 69 Stable en varias semanas. V8 v6.9 está llena de todo tipo de novedades para desarrolladores. Esta publicación ofrece un avance de algunos de los aspectos destacados en anticipación al lanzamiento.

Lanzamiento de V8 v6.8

· 4 min de lectura
el equipo de V8

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 un hito beta de Chrome. Hoy nos complace anunciar nuestra rama más reciente, V8 versión 6.8, que está en beta hasta su lanzamiento en coordinación con Chrome 68 Stable dentro de varias semanas. V8 v6.8 está llena de todo tipo de novedades orientadas a desarrolladores. Esta publicación ofrece un adelanto de algunos de los aspectos destacados en anticipación al lanzamiento.

Marcado concurrente en V8

· 15 min de lectura
Ulan Degenbaev, Michael Lippautz y Hannes Payer — liberadores del hilo principal

Este artículo describe la técnica de recolección de basura llamada marcado concurrente. La optimización permite que una aplicación de JavaScript continúe ejecutándose mientras el recolector de basura escanea el montón para encontrar y marcar objetos vivos. Nuestros benchmarks muestran que el marcado concurrente reduce el tiempo dedicado al marcado en el hilo principal en un 60%–70%. El marcado concurrente es la última pieza del proyecto Orinoco — el proyecto para reemplazar incrementalmente el antiguo recolector de basura con el nuevo recolector de basura mayormente concurrente y paralelo. El marcado concurrente está habilitado por defecto en Chrome 64 y Node.js v10.

Lanzamiento de V8 v6.7

· 2 min de lectura
el equipo de V8

Cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se deriva del repositorio Git principal de V8 inmediatamente antes de un hito Beta de Chrome. Hoy nos complace anunciar nuestra nueva rama, V8 versión 6.7, que está en beta hasta su lanzamiento en coordinación con Chrome 67 Estable en varias semanas. V8 v6.7 está lleno de todo tipo de funcionalidades dirigidas a desarrolladores. Este artículo ofrece un adelanto de algunos de los aspectos destacados en anticipación al lanzamiento.

Añadiendo BigInts a V8

· 9 min de lectura
Jakob Kummerow, árbitro de la precisión

En los últimos meses, hemos implementado soporte para BigInts en V8, tal como se especifica actualmente en esta propuesta, para incluirse en una futura versión de ECMAScript. La siguiente publicación relata la historia de nuestras aventuras.