Nova - motor de JavaScript & WebAssembly escrito em Rust
(github.com/trynova)- Nova é um motor de JavaScript com design orientado a dados, adotando uma arquitetura projetada para maximizar o desempenho e a eficiência de cache
- Busca ao mesmo tempo prevenir vulnerabilidades de memória e otimizar o desempenho
- Principais características:
- Todos os dados alocados no heap JavaScript são armazenados em vetores por tipo (números em vetor de números, strings em vetor de strings etc.).
- As referências do heap são tratadas como índices separados por tipo, o que oferece segurança de memória e eficiência de tamanho.
- Os objetos são divididos por tipo e armazenados em vetores (objetos comuns, arrays, DataView etc.).
- Objetos não comuns são projetados para referenciar dados de objetos comuns apenas quando necessário.
- Os objetos são armazenados de forma agressivamente separada para evitar a leitura de dados desnecessários.
- Ainda está em desenvolvimento. O motor tem funcionalidades muito limitadas e passa em apenas cerca de 47% da suíte de testes test262
1 comentários
Comentários no Hacker News
function X(a) { this.a = a; }efunction Y(b) { this.b = b; }seriam considerados tipos diferentes de objeto?{a: 1}e{b: 2}seriam considerados tipos diferentes de objeto?