4 ms·
It only works in Chrome, which is a pretty big issue. Per wikipedia [0], other browsers rejected PNaCL because they don't like the idea of web apps running bin
by leftyted 7y ago
It only works in Chrome, which is a pretty big issue.
Per wikipedia [0], other browsers rejected PNaCL because they don't like the idea of web apps running binaries as that represents a black box for most users. In comparison, wasm is "more open". Wasm code has a human-readable text equivalent (although, frankly, the number of people who will be able to make sense of it is not high and doesn't include me).
[0] https://en.wikipedia.org/wiki/Google_Native_Client#Detractors https://en.wikipedia.org/wiki/Google_Native_Client#Detractor...
- MuffinFlavored 7y agoWhat will it take to get WebAssembly performance more in line?
- Rusky 7y agoI don't have a good overview but the last time I saw wasm-generated assembly it (e.g. firefox's compiler) was very very bad at actually using x86 addressing modes and other peephole-like "optimization" leading to high instruction counts and code size. This is something that will easily improve over time without a ton of work.
- mintplant 7y ago(P)NaCl was also essentially defined by Chromium's implementation, so difficult to reproduce from scratch; and tightly intertwined with the surrounding Chromium codebase, so that implementation was difficult to port to other browsers. Its success depended on a total Chromium monoculture.
- kevingadd 7y agoAnother problem was compile times - getting an efficient emit and compile time for LLVM IR was difficult and involved having to heavily optimize/replace lots of parts of LLVM's pipeline that were never designed for turbo speed because it wasn't a priority.
- vbezhenar 7y agoMachine code can be disassembled to text form. What's different?
- deleted 7y ago[deleted]
- snek 7y agoOn the note of webassembly's text format (WAT), it's a fantastic introduction into a low level assembly. Wasm is a virtual stack machine, and it's strongly statically typed, so WAT is surprisingly readable. That being said, if the WAT you're reading wasn't hand-written, it's probably going to be unreadable anyway. Here's an example of some mutex operations in WAT: https://gist.github.com/devsnek/9274f1420b7641d1b6c34141921f0851 https://gist.github.com/devsnek/9274f1420b7641d1b6c34141921f...
- erk__ 7y agoThe livestreaming site twitch.tv uses wasm for their player, so you download a fifty something blob which is not too open I feel. I tried to have a look at it in wat and it was sadly pretty hard to figure out what was going on.