Memory64 do WebAssembly: Uma troca entre velocidade e memória

2025-01-16
Memory64 do WebAssembly: Uma troca entre velocidade e memória

O WebAssembly introduziu recentemente o Memory64, adicionando suporte para ponteiros de 64 bits. No entanto, surpreendentemente, o Memory64 não resulta em ganhos de desempenho; em vez disso, devido a limitações de hardware, sistemas operacionais e design do próprio WebAssembly, ele pode ser executado de 10% a mais de 100% mais lento do que o modo de 32 bits. Isso ocorre porque o modo de 32 bits permite que os navegadores reservem 4 GB de memória, eliminando a necessidade de verificações de limites. O Memory64, por outro lado, exige verificações de limites, adicionando sobrecarga computacional. Portanto, a menos que você precise de mais de 4 GB de memória, o Memory64 não é a escolha ideal. Melhorias futuras em hardware e WebAssembly podem melhorar o desempenho do Memory64.

Desenvolvimento