▲ | fyrn_ 4 days ago | ||||||||||||||||||||||
This mention this alturnative in the article, and also point out how it does not work in embeded contexts or with WASM | |||||||||||||||||||||||
▲ | ncruces 4 days ago | parent | next [-] | ||||||||||||||||||||||
I've actually used this to implement the linear memory of a Wasm runtime (reserve 4GB and commit as needed) and have faced user complaints (it's in a library that uses a Wasm runtime internally) due to it unexpectedly running into issues, particularly under nested virtualization scenarios. I've needed to add knobs to configure it, because even a handful of 4GB instances causes issues. I've defaulted to 256MB/instance, and for my own GitHub CI use 32MB/instance to reduce test flakiness. This is to say: I found the idea that “just reserve address space, it's not an issue of you don't commit it” very flaky in practice, unless you're running on bare metal Linux. | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | loeg 4 days ago | parent | prev [-] | ||||||||||||||||||||||
Embedded environments without virtual memory are increasingly rare, and generally not places where you would need a variably sized generic list ADT anyway. |