by rkagerer on 5/28/19, 6:00 AM
For those curious why it isn't 100%:
The only reason we haven’t already gotten to 99% native speed is because WebAssembly’s 32-bit integer indexes break LLVM’s vectorization due to pointer aliasing. Once fixed-width SIMD instructions are added, native WebAssembly will close the gap entirely, because this vectorization analysis will have happened before the WebAssembly compilation step.
by feniv on 5/28/19, 3:35 AM
WebAssembly on desktop and servers is maturing pretty rapidly! There are several backend interpreters already in Rust and Go (life). The native, compiled options are even faster, Fastly's Lucet compiler and runtime was one of the first to implement WASI (
https://wasi.dev/):
https://www.fastly.com/blog/announcing-lucet-fastly-native-w...The differentiator for InNative seems to be the ability to bypass the sandbox altogether as well as additional native interop with the OS. Looks promising!
by p1necone on 5/28/19, 3:55 AM
by mises on 5/27/19, 11:48 PM
"Run a fast, sandboxed bytecode outside of the sandbox by compiling it into a binary" so just a binary. I'm not sure I understand why you would use wasm here. No one writes wasm; you compile to it (usually from llvm ir). Why couldn't you just go straight from llvm ir to a binary; skip the wasm? I suspect I'm missing something here, but it doesn't seem to make sense.
by ryacko on 5/27/19, 11:30 PM
"We could break the stranglehold of i386 on the software industry and free developers to experiment with novel CPU architectures without having to worry about whether our favorite language compiles to it."
WASM is equivalent to early 80s ISAs but with different opcodes. Native WASM would be most efficient.
by Matheus28 on 5/28/19, 5:40 AM
Isn’t it also using 32 bit pointers on 64 bit machines? That should also improve performance a bit.
It’s a shame that the x32 ABI is almost abandoned nowadays, it has some modest improvements for applications that don’t need that much memory.
by liquid153 on 5/28/19, 2:45 PM
WASM sounds great and all with it’s sandbox like NaCl. But I have to imagine over 90% of client and server computers are x86 and ARM and I don’t see those targets losing any share in the near or long term. Also I don’t see wasm being used in micro controllers as well.
by AshleysBrain on 5/28/19, 8:49 AM
Isn't the sandbox a useful feature of WebAssembly? It gives you much better security guarantees than running untrusted native code on your system.
by microcolonel on 5/28/19, 5:35 AM
Alternatively: run native code at least 5% slower than before.