WebAssemblys Memory64: Ein Kompromiss zwischen Geschwindigkeit und Speicher

2025-01-16
WebAssemblys Memory64: Ein Kompromiss zwischen Geschwindigkeit und Speicher

WebAssembly hat kürzlich Memory64 eingeführt, das 64-Bit-Zeiger unterstützt. Überraschenderweise führt Memory64 jedoch nicht zu einer Leistungssteigerung, sondern kann aufgrund von Hardware-Beschränkungen, Betriebssystemen und dem Design von WebAssembly selbst zwischen 10 % und über 100 % langsamer als der 32-Bit-Modus sein. Dies liegt daran, dass der 32-Bit-Modus es Browsern ermöglicht, 4 GB Speicher zu reservieren und so die Notwendigkeit von Grenzprüfungen zu eliminieren. Memory64 hingegen erfordert Grenzprüfungen, was einen zusätzlichen Rechenaufwand bedeutet. Daher ist Memory64 nur dann die optimale Wahl, wenn mehr als 4 GB Speicher benötigt werden. Zukünftige Verbesserungen von Hardware und WebAssembly könnten die Leistung von Memory64 verbessern.

Entwicklung