Quite a letdown that the solution for a web-based spreadsheet is for users to install a local backend. Might be a case for edge computing even.
> WebAssembly has a single contiguous, linear memory space shared by all dynamic memory allocations. This means that WASM cannot make use of several memory management features that operating systems provide, such as Virtual Memory, Swapping, etc. Additionally, it cannot make use of the CPU’s MMU optimisations such as prefetching and caching.
WebAssembly has memory issues, but those are not them. Virtual memory and swapping are OS features that work at the page level. CPU prefetching and caching are CPU features that work at the cacheline/address level. [1] covers the major design limitations with WebAssembly memory.
> WebAssembly has a single contiguous, linear memory space shared by all dynamic memory allocations. This means that WASM cannot make use of several memory management features that operating systems provide, such as Virtual Memory, Swapping, etc. Additionally, it cannot make use of the CPU’s MMU optimisations such as prefetching and caching.
WebAssembly has memory issues, but those are not them. Virtual memory and swapping are OS features that work at the page level. CPU prefetching and caching are CPU features that work at the cacheline/address level. [1] covers the major design limitations with WebAssembly memory.
[1] https://github.com/WebAssembly/design/issues/1397