Live data from Hacker News

Wasmer – Universal Binaries Powered by WebAssembly

wasmer.io

11–20 of 22 posts

Re: Wasmer – Universal Binaries Powered by WebAssembly

#11

Is there anywhere I can find actual numbers in terms of performance gains from running NGINX like this vs "the usual way"?

They both should have very similar numbers in performance. Right now there is a bit of slowdown at startup time because of function compilation, but we are planning to improve this quite soon!

Re: Wasmer – Universal Binaries Powered by WebAssembly

#12
post #3

For people who like the idea, check Terrarium[1] from Fastly. They use Wasmer with Fastly services to have edge computing capabilities. Think AWS Lambda but in a CDN. It looks promising! [1] https://wasm.fastlylabs.com/

> Think AWS Lambda but in a CDN.

So, AWS Lambda@Edge

Re: Wasmer – Universal Binaries Powered by WebAssembly

#13
post #5

> Once installed, you will be able to run any wasm module (including Nginx!) If you're running on Linux, I suppose that applies only to WASM modules that interface with a POSIX system (?)

Doesn't WASM interface with a JS/WASM VM, which is then responsible for interfacing with the OS? There are plenty of POSIX compatible VMs, including V8, the Chrome engine.

The "posix" needs to be on the other side. Things like v8 use a posix interface for interacting with the OS. However they don't provide a posix interface the code which is running inside the VM.

I think what was needed was that someone implemented posix APIs inside webassembly, by delegating to the javascript APIs that e.g. node.js provides, or by building a native module that proxies those calls.

Re: Wasmer – Universal Binaries Powered by WebAssembly

#14
post #3

For people who like the idea, check Terrarium[1] from Fastly. They use Wasmer with Fastly services to have edge computing capabilities. Think AWS Lambda but in a CDN. It looks promising! [1] https://wasm.fastlylabs.com/

Surely they’re not using wasmer. They’re using cranelift with their own runtime, correct? This talk mentions a cranelift runtime fastly built in-house. https://youtu.be/FkM1L8-qcjU

Re: Wasmer – Universal Binaries Powered by WebAssembly

#16

Earlier quoted context omitted.

Doesn't WASM interface with a JS/WASM VM, which is then responsible for interfacing with the OS? There are plenty of POSIX compatible VMs, including V8, the Chrome engine.

The "posix" needs to be on the other side. Things like v8 use a posix interface for interacting with the OS. However they don't provide a posix interface the code which is running inside the VM. I think what was needed was that someone implemented posix APIs inside webassembly, by delegating to the javascript APIs that e.g. node.js provides, or by building a native module that proxies those calls.

Ah, I misunderstood the question.

Re: Wasmer – Universal Binaries Powered by WebAssembly

#17

How is this different from what Java was a few years back?

You can compile Rust/C/etc executables to it, the stdlib might be different or nonexistant (unclear to me), WASM doesn't have a GC (yet) and you can get stacklike semantics, probably fewer security holes, the installer probably doesn't bundle other softfare.

But yes, technically speaking it's not that much different from JVM bytecode execution. Software is more consensus than breakthroughs though, so WASM might succeed where Java failed (well, kind of) because we're ready for it and the major players want it.

Re: Wasmer – Universal Binaries Powered by WebAssembly

#18

Stupid question - how are they handling system calls in wasmer? I can't seem to find the answer easily.

We first wanted to focus on running Emscripten-generated WebAssembly files, so we are wrapping the syscalls that Emscripten is using with the real syscalls under the hood. Here's an example of that: https://github.com/wasmerio/wasmer/blob/master/src/apis/emsc...

Would support for something like wasm-bindgen be possible eventually?

Re: Wasmer – Universal Binaries Powered by WebAssembly

#20
post #14
post #3

For people who like the idea, check Terrarium[1] from Fastly. They use Wasmer with Fastly services to have edge computing capabilities. Think AWS Lambda but in a CDN. It looks promising! [1] https://wasm.fastlylabs.com/

Surely they’re not using wasmer. They’re using cranelift with their own runtime, correct? This talk mentions a cranelift runtime fastly built in-house. https://youtu.be/FkM1L8-qcjU

Yes you are right. I got confused with all the techs out there... Thank you for your correction.
Post reply on HN