O fundador do QEMU e FFmpeg publicou o motor JavaScript QuickJS

O matemático francês Fabrice Bellard, que fundou projetos como QEMU e FFmpeg, além de criar a fórmula mais rápida para calcular o número Pi e desenvolver um formato de imagem BPG, publicou o primeiro lançamento de um novo motor JavaScript QuickJS. O motor se destaca pela sua compactação e é voltado para a incorporação em outros sistemas. O código do projeto é escrito em C e é distribuído sob a licença MIT. Também está disponível uma versão do motor compilada em WebAssembly usando Emscripten, adequada para execução em navegadores.

A implementação de JavaScript suporta segue a especificação ES2019, incluindo módulos, geradores assíncronos e proxies. Suportam opcionalmente recursos matemáticos não padrão para desenvolvimento remoto no VS Code (VS Code Remote — WSL) é a última etapa que garante um trabalho confortável para o desenvolvedor. A extensão permite que o VS Code execute todas as suas operações (comandos git, console, instalação de extensões e assim por diante) interagindo diretamente com a máquina virtual Linux. Isso torna todo o processo muito autônomo. para JavaScript, como os tipos BigInt e BigFloat, além de sobrecarga de operadores. Em termos de desempenho, o QuickJS supera significativamente significativamente os motores existentes; por exemplo, no teste
bench-v8, é sete vezes mais rápido que o motor XS em 35%, DukTape mais de duas vezes, JerryScript três vezes, e MuJS .

Além da biblioteca para embutir o motor em aplicações, o projeto também oferece um interpretador qjs, que pode ser utilizado para executar código JavaScript a partir da linha de comando. Além disso, está disponível um compilador qjsc, que pode gerar arquivos executáveis independentes que não requerem dependências externas.

Principais características:

  • Compactação e facilidade de integração em outros projetos. O código consiste em apenas alguns arquivos em C, que não exigem dependências externas para a construção. Um aplicativo simples compilado ocupa cerca de 190 KB;
  • Desempenho muito alto e baixo tempo de inicialização. A passagem de 56 mil testes de compatibilidade com ECMAScript leva cerca de 100 segundos ao ser executada em um único núcleo de um PC desktop comum. A inicialização do runtime leva menos de 300 microsegundos;
  • Quase total suporte à especificação ES2019 e total suporte ao aplicativo 'B', que define componentes para compatibilidade com aplicações web antigas;
  • Cumprimento completo de todos os testes do conjunto ECMAScript Test Suite;
  • Suporte à compilação de código JavaScript em arquivos executáveis sem dependências externas;
  • Um coletor de lixo baseado em contagem de referências sem execução de limpeza cíclica, permitindo um comportamento previsível e redução do consumo de memória;
  • Um conjunto de extensões para cálculos matemáticos em JavaScript;
  • Shell para execução de código no modo de linha de comando, com suporte a destaque de sintaxe;
  • Biblioteca padrão compacta com wrappers sobre a biblioteca C.

O projeto também desenvolve três bibliotecas C auxiliares, usadas no QuickJS e adequadas para uso independente:

  • libregexp — implementação rápida de expressões regulares, totalmente compatíveis com a especificação Javascript ES 2019;
  • libunicode — biblioteca compacta para trabalhar com Unicode;
  • libbf — implementação de operações de ponto flutuante de precisão arbitrária e funções transcendentais com arredondamento exato.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster