3 ms·
I'd go a bit further. If you want full POSIX support, perhaps WASIX is the best alternative. It's WASI preview 1 + many missing features, such as: threads, fork
by syrusakbary 11mo ago
I'd go a bit further. If you want full POSIX support, perhaps WASIX is the best alternative.
It's WASI preview 1 + many missing features, such as: threads, fork, exec, dlopen, dlsym, longjmp, setjmp, ...
https://wasix.org/ https://wasix.org/
- samarthr1 11mo agoMy understanding of the wasm execution model was that it was fundamentally single threaded?
- syrusakbary 11mo agoI don't think that's accurate, although it's true that needs extra work to work properly in JS based environments. You can already create threads in Wasm environments (we got even fork working in WASIX!). However, there is an upcoming Wasm proposal that adds threads support natively to the spec: https://github.com/WebAssembly/shared-everything-threads https://github.com/WebAssembly/shared-everything-threads
- pmarreck 11mo agowhat are the options regarding working with wasix? (compiling to it, running it?) is this something that is expected to "one day" be part of WASM proper in some form?
- syrusakbary 11mo agoRight now you should be good to go to start using WASIX. If you want to compile threaded code, things should already work (without waiting for any proposal in the Wasm space). If you want to run it, there are few options: use wasmer-js for the browser (Wasmer using the Browser Wasm engine + WASIX) or using normal Wasmer to run it server-side. No need to wait for the Wasm "proper" implementation. Things should already be runnable with no major issues.