Amazon Prime Video usa WebAssembly para oferecer suporte a 8.000 tipos de dispositivos
(amazon.science)-
Atualmente oferece suporte a 8.000 dispositivos, como consoles de jogos, TVs, set-top boxes e streaming sticks
-
A cada atualização, era necessário fazer um release nativo separado para cada um deles
→ Para isso, em vez de JavaScript, passaram a usar WASM para aumentar a estabilidade e melhorar a velocidade
- Antes, usavam uma VM de JavaScript escrita em C++ e um app em JavaScript
→ Agora, executam ao mesmo tempo a VM de JavaScript e a VM de WebAssembly (em dispositivos antigos que ainda não suportam WASM, usam apenas JavaScript)
→ Migraram sistemas de baixo nível de JavaScript para WASM e também atualizam os binários WASM
→ Código escrito em Rust é compilado para WASM e executado (10 a 25 vezes mais rápido que JavaScript)
-
Planejam migrar ainda mais sistemas para WASM para alcançar 60 FPS e melhorar a latência de entrada
-
A VM de WASM, incluindo seus próprios módulos e a instância inteira, tem cerca de 7,5 MB, economizando 30 MB de memória heap de JavaScript
→ Como muitos dos dispositivos distribuídos têm pouquíssima memória, o uso de memória é um fator importante
-
O módulo WASM, quando comprimido, tem cerca de 150 KB, então o tempo de inicialização também é muito baixo
-
Uma das vantagens de usar Rust é poder aproveitar bibliotecas de alta qualidade (como
egui) -
O investimento em Rust e WebAssembly deu resultado
→ Ao longo de cerca de um ano, com 37.000 linhas de código Rust, melhoraram desempenho, estabilidade e consumo de CPU, além de reduzir o uso de memória
Ainda não há comentários.