Pular para o conteúdo principal

Organizando coisas no V8

· Leitura de 19 minutos
Simon Zünd ([@nimODota](https://twitter.com/nimODota)), comparador consistente

Array.prototype.sort estava entre os últimos recursos incorporados em JavaScript auto-hospedado no V8. Portá-lo ofereceu-nos a oportunidade de experimentar diferentes algoritmos e estratégias de implementação e finalmente torná-lo estável no V8 v7.0 / Chrome 70.

Melhorando o desempenho do `DataView` no V8

· Leitura de 9 minutos
Théotime Grohens, <i lang="fr">o especialista em Data-Vue</i>, e Benedikt Meurer ([@bmeurer](https://twitter.com/bmeurer)), especialista em desempenho profissional

DataViews são uma das duas maneiras possíveis de realizar acessos de memória em baixo nível no JavaScript, sendo a outra TypedArrays. Até agora, os DataViews eram muito menos otimizados do que os TypedArrays no V8, resultando em desempenho inferior em tarefas como cargas de trabalho intensivas em gráficos ou na decodificação/codificação de dados binários. As razões para isso foram principalmente escolhas históricas, como o fato de que asm.js escolheu TypedArrays em vez de DataViews, incentivando os motores a focarem no desempenho dos TypedArrays.

Comemorando 10 anos do V8

· Leitura de 14 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias)), historiador do V8

Este mês marca o aniversário de 10 anos do lançamento não apenas do Google Chrome, mas também do projeto V8. Este post apresenta uma visão geral dos principais marcos do projeto V8 nos últimos 10 anos, bem como nos anos anteriores, quando o projeto ainda era secreto.

Decolagem: um novo compilador baseline para WebAssembly no V8

· Leitura de 16 minutos
Clemens Backes, maestro da compilação de WebAssembly

V8 v6.9 inclui Decolagem, um novo compilador baseline para WebAssembly. Decolagem agora está habilitado por padrão em sistemas desktop. Este artigo detalha a motivação para adicionar outro nível de compilação e descreve a implementação e performance de Decolagem.

Builtin embutidos

· Leitura de 12 minutos
Jakob Gruber ([@schuay](https://twitter.com/schuay))

As funções embutidas do V8 (builtins) consomem memória em cada instância do V8. A contagem de builtins, o tamanho médio e o número de instâncias do V8 por aba do navegador Chrome aumentaram significativamente. Este post descreve como reduzimos o tamanho mediano do heap do V8 por site em 19% no último ano.

Lançamento do V8 v6.9

· Leitura de 5 minutos
a equipe do V8

A cada seis semanas, criamos um novo branch do V8 como parte de nosso processo de lançamento. Cada versão é ramificada do Git master do V8 imediatamente antes de um marco beta do Chrome. Hoje, temos o prazer de anunciar nosso mais novo branch, V8 versão 6.9, que está em beta até seu lançamento em coordenação com o Chrome 69 Stable nas próximas semanas. O V8 v6.9 está repleto de funcionalidades voltadas para desenvolvedores. Este post fornece uma prévia de alguns dos destaques em antecipação ao lançamento.

Lançamento do V8 v6.8

· Leitura de 4 minutos
a equipe do V8

A cada seis semanas, criamos um novo branch do V8 como parte do nosso processo de lançamento. Cada versão é derivada do repositório Git mestre do V8 imediatamente antes de um marco Beta do Chrome. Hoje temos o prazer de anunciar nosso mais novo branch, V8 versão 6.8, que está em beta até seu lançamento em conjunto com o Chrome 68 Stable dentro de algumas semanas. O V8 v6.8 está repleto de recursos que beneficiam os desenvolvedores. Este post oferece uma prévia de alguns dos destaques em antecipação ao lançamento.

Marcação concorrente no V8

· Leitura de 14 minutos
Ulan Degenbaev, Michael Lippautz, e Hannes Payer — libertadores da thread principal

Este post descreve a técnica de coleta de lixo chamada marcação concorrente. A otimização permite que uma aplicação JavaScript continue a execução enquanto o coletor de lixo escaneia o heap para encontrar e marcar objetos vivos. Nossos benchmarks mostram que a marcação concorrente reduz o tempo gasto marcando na thread principal em 60%–70%. A marcação concorrente é a última peça do projeto Orinoco — o projeto para substituir incrementalmente o antigo coletor de lixo pelo novo coletor de lixo principalmente concorrente e paralelo. A marcação concorrente está habilitada por padrão no Chrome 64 e Node.js v10.

Lançamento do V8 v6.7

· Leitura de 2 minutos
a equipe do V8

A cada seis semanas, criamos um novo branch do V8 como parte de nosso processo de lançamento. Cada versão é ramificada a partir do Git master do V8 imediatamente antes de um marco Beta do Chrome. Hoje temos o prazer de anunciar nosso mais novo branch, V8 versão 6.7, que está em beta até seu lançamento em coordenação com o Chrome 67 estável em algumas semanas. O V8 v6.7 está cheio de novidades voltadas para desenvolvedores. Este post fornece uma prévia de alguns dos destaques em antecipação ao lançamento.

Adicionando BigInts ao V8

· Leitura de 8 minutos
Jakob Kummerow, árbitro de precisão

Nos últimos meses, implementamos o suporte para BigInts no V8, conforme especificado atualmente por esta proposta, para ser incluído em uma futura versão do ECMAScript. O post a seguir conta a história de nossas aventuras.