Live data from Hacker News

WasmEdge

wasmedge.org

31–40 of 88 posts

Re: WasmEdge

#31
Ten minutes into reading the documentation and I believe that this is a really important technology. I can't wait to find how to integrate this into my own code.

Impressive and very cool!

Re: WasmEdge

#32

Earlier quoted context omitted.

I would sincerely be curious to know how many “kloc of C/C++” you are already running in an adversarial environment and how much of a dent this project would make.

How much of a dent (non-quantitative) it would make, depends on how it is deployed. In my environment, the risk of WasmEdge outweighs its advantages. By that argument there is no difference between 80% and 85% or 1% and 2%. One should absolutely reduce their attack surface. If the goal is to be "lightweight" as compared to containers, then WasmEdge would be running as a regular OS process and not in a jail or cgroups…

> By construction, WasmEdge has a greater threat model vs rootless containers.

Yes — this argument makes a lot more sense to me compared to “kloc of C/C++”.

Re: WasmEdge

#34
The lifecycle of software over the decades:

- v1: desktop software (1980-2000)

- v2: web software, single tenant, single datacenter

- v3: web software, multi-tenant, single data center

- v4: web software, multi-tenant, hosted in “cloud”

- v5: web software, multi-tenant, hosted on cloud “edge”

- v6: electron apps installed “hosted” on desktop (the ultimate cloud edge)

Full circle.

Re: WasmEdge

#35
post #20

Earlier quoted context omitted.

Disclaimer: I am a maintainer at WasmEdge. One of the benefits of running JS in Wasm (specifically the QuickJS approach) is that you can create JS APIs in Rust. That allows you to move a lot of compute intensive operations into Rust while still giving your developers a clean and nice JS API. WasmEdge does this with its JS Tensorflow API: https://wasmedge.org/book/en/write_wasm/js/tensorflow.html In fact, we are using…

Not to denigrate your work, it's good what you're working on... but I can create JS APIs in Rust with native V8 bindings, too: https://github.com/denoland/rusty_v8/blob/main/examples/proc... After working on a couple codebases that used wasmtime and wasmer heavily, I think if I were to start from scratch I'd just use V8 as my WASM runtime. (And the model I would follow would be to containerize the V8 runtime piece in…

Personally, I believe v8 is and always will be primarily focused on the browser use case. It’s support for wasi, container tooling will always take a back seat compared with priorities in the browser.

Today, there are a large set of Rust apps that can run in WasmEdge, wasmtime, Fermyon spin, wasmCloud etc, but would not run on v8’s embedded Wasm engine …

However, I do agree that v8 excels in JavaScript.

Re: WasmEdge

#36
post #27

Earlier quoted context omitted.

"at least it should be much smaller than a full optimizing JS engine, both in terms of code size and runtime memory usage" Why should QuickJS use less runtime memory? Genuine question, I just recently learned of QuickJS and what I understand, it is way smaller in itself, meaning you do not need so much memory for the engine itself, but that does not say anything how efficient it is with executing js code. Or are ther…

Optimizing VMs often use lots of memory for various reasons. Specific costs in modern optimizing VMs include the memory for the JITed code, and with multiple tiers you end up JITing each function more than once. You also need memory to save information about which functions to tier up (a call count or something more refined). Even things like polymorphic inline caches have a cost, the space for each of those PICs, an…

Does the engine store compiled binaries for the next time the page is loaded?

Re: WasmEdge

#37
post #34

The lifecycle of software over the decades: - v1: desktop software (1980-2000) - v2: web software, single tenant, single datacenter - v3: web software, multi-tenant, single data center - v4: web software, multi-tenant, hosted in “cloud” - v5: web software, multi-tenant, hosted on cloud “edge” - v6: electron apps installed “hosted” on desktop (the ultimate cloud edge) Full circle.

Yeah, but we made some awesome sandboxing friends along the way.

We could actually get a nice performance boost out of running WASM with VM enforced security instead of Rings and the MMU.[0]

[0]: https://www.destroyallsoftware.com/talks/the-birth-and-death...

Re: WasmEdge

#38
post #27

Earlier quoted context omitted.

Optimizing VMs often use lots of memory for various reasons. Specific costs in modern optimizing VMs include the memory for the JITed code, and with multiple tiers you end up JITing each function more than once. You also need memory to save information about which functions to tier up (a call count or something more refined). Even things like polymorphic inline caches have a cost, the space for each of those PICs, an…

Does the engine store compiled binaries for the next time the page is loaded?

Some (most?) do, yes, here is a V8 article on that for example: https://v8.dev/blog/wasm-code-caching

Re: WasmEdge

#39
post #35

Earlier quoted context omitted.

Not to denigrate your work, it's good what you're working on... but I can create JS APIs in Rust with native V8 bindings, too: https://github.com/denoland/rusty_v8/blob/main/examples/proc... After working on a couple codebases that used wasmtime and wasmer heavily, I think if I were to start from scratch I'd just use V8 as my WASM runtime. (And the model I would follow would be to containerize the V8 runtime piece in…

Personally, I believe v8 is and always will be primarily focused on the browser use case. It’s support for wasi, container tooling will always take a back seat compared with priorities in the browser. Today, there are a large set of Rust apps that can run in WasmEdge, wasmtime, Fermyon spin, wasmCloud etc, but would not run on v8’s embedded Wasm engine … However, I do agree that v8 excels in JavaScript.

The design of WASI and the component model are layered, though: you could start with V8 and build a runtime with full WASI etc. support.

In fact, Node.js and Deno have both done exactly that, a V8 core with layered APIs on top including WASI.

Re: WasmEdge

#40
post #18

I got a bit bewildered by the quick start documentation. It starts by showing how to install and uninstall, followed by running it in different execution environments, it seems to be expecting that you already know what wasmedge is. That's unexpected, as usually a quickstart shows how to write and run a simple application.

Will improve! Thanks! One of the challenges is that Wasm supports multiple languages. So, we will have to decide to start from a Rust app or a JS app or something else. Would love your suggestions.

I've seen multiple docs have a default code area (JS), with tabs for other languages (rust, etc)
Post reply on HN