Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
herobird
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
herobird
13d ago
Thank you! It means a lot coming from someone with your experience in the field.
2.
▲
by
herobird
13d ago
If Wasmi supports all the Wasm proposals that you need for PGlite and if Wasmi supports all the WASI features you need (Wasmi only supported the standard WASI features without extensions), then Wasmi should work for your use-case. :) Wasmi
3.
▲
by
herobird
13d ago
Cool project! If you think that your Wasm interpreter is stable and kinda production ready enough, you might want to file a PR to the wasmi-benchmarks repo to add support for your Wasm runtime. Would certainly be another great addition to h
4.
▲
by
herobird
13d ago
I am not aware of any of the major gaming consoles uses Wasm or Wasmi in particular for their engine but I am sure they'd let us know if they ever used Wasm as execution model for all their games. What's more likely is that Wasm i
5.
▲
by
herobird
14d ago
Wasmi does not directly compete with the large JIT engines such as Wasmtime and V8. Instead, Wasmi tries to fit perfectly into its niche. Its main purpose is that it is very easy to embed and provides great performance for those use-cases.
6.
▲
by
herobird
14d ago
From my experiences indirect-threading and direct-threading are only ~10-15% of performance apart. However, the switch-loop dispatch that is used on platforms that do not support tail-calls can be a lot slower. However, the slowdown highly
7.
▲
by
herobird
14d ago
Thank you! :) In the `wasmi-benchmarks` suite we support ~20 different Wasm runtimes and compare their performance with each other, including optimizing JITs such as Wasmtime/Wasmer Cranelift and baseline JITs such as Wasmtime Winch an
8.
▲
by
herobird
14d ago
hi, author here, ready to answer all your questions! (sorry for the delay, 2nd-chance post)
9.
▲
Engineering of the fastest WebAssembly interpreters
(wasmi-labs.github.io)
138 points
by
herobird
16d ago
|
22 comments
10.
▲
by
herobird
8mo ago
My view on specifications is that their long-term success depends on the value they provide relative to their complexity. Complexity inevitably grows over time, so spending that complexity budget carefully is crucial, especially since a spe
11.
▲
by
herobird
8mo ago
> There is a lot of desire for advancement, but standardization means decisions are hard to reverse. For many, things are moving too quickly and in the wrong direction. Most Wasm proposals are very elegantly designed and effective - me
12.
▲
by
herobird
9mo ago
It's kinda frustrating that Mozilla's CEO thinks that axing ad-blockers would be financially beneficial for them. Quite the opposite is true (I believe) since a ton of users would leave Firefox for alternatives.
13.
▲
by
herobird
10mo ago
Article author here! Feel free to ask me anything. :)
14.
▲
Wasmi 1.0 – WebAssembly Interpreter Stable at Last
(wasmi-labs.github.io)
3 points
by
herobird
10mo ago
|
1 comments
15.
▲
by
herobird
1y ago
Yes, Wasmi's fuel metering is deterministic.
16.
▲
by
herobird
1y ago
Awww, makes me very happy to hear! :) Thank you!
17.
▲
by
herobird
1y ago
Wasmtime, being an optimizing JIT, usually is ~10 times faster than Wasmi during execution. However, execution is just one metric that might be of importance. For example, Wasmi's lazy startup time is much better (~100-1000x) since it
18.
▲
by
herobird
1y ago
Yes, rational is to provide a pragmatic and efficient solution to infinite loops. There is a variety of ways to implement fuel metering with varying trade-offs, e.g. performance, determinism and precision. In this comment I roughly describe
19.
▲
by
herobird
1y ago
I am really sorry I have waited so long to extend Wasmi's resumable calls with this very useful feature. :S Feel free to message me if you ever plan to adjust your design to make use of it.
20.
▲
by
herobird
1y ago
I don't know how fuel metering in Wasmtime works and what its overhead is but keep in mind that Wasmi is an interpreter based Wasm runtime whereas Wasmtime generates machine code (JIT). In past experiments I remember that fuel metering
21.
▲
by
herobird
1y ago
Great question! Wasmi's fuel metering can be thought of as is there was an adjustable counter and for each instruction that Wasmi executes this counter is decreased by some amount. If it reached 0 the resumable call will yield back to
22.
▲
by
herobird
1y ago
> Every iteration of the loop polls the network and input drivers, draws the desktop interface, runs one step of each active WASM application, and flushes the GPU framebuffer. This is really interesting and I was wondering how you implem
23.
▲
by
herobird
1y ago
Wasmi author here. Glad to see Wasmi being used in embedded contexts were it really shines. :) I just watched the demo video of Munal OS and am still in awe of all of its features. Really impressive work!
24.
▲
by
herobird
2y ago
Have you had experience implementing SSA via sea-of-nodes representation? Could it be that in this case dominance frontier is no longer important and one could use the simpler SSA construction algorithms that do not require dominance fronti
25.
▲
by
herobird
2y ago
Yes this iterative process is indeed very visible. Wasmi started out as a mostly safe Rust interpreter and over time went more and more into a performance oriented direction. Though I have to say that the "list of addresses" appro
26.
▲
by
herobird
2y ago
No I do not but it is a very interesting question and probably not even answerable in practice because not every instruction takes the same amount of time to execute to completion. An outlier in this regard are for example host function cal
27.
▲
by
herobird
2y ago
Also great job on Wizard btw! Your article about Wizard was a really interesting read to me. The abundance of Wasm runtimes is a testimony of how great the WebAssembly standard really is!
28.
▲
by
herobird
2y ago
Oh this is very interesting! I wish I knew about this before I wrote my own benchmarking suite. :D
29.
▲
by
herobird
2y ago
Thank you! :) when using lazy-unchecked translation with relatively small programs, setting up the Linker sometimes can take up the majority of the overall execution with ~50 host functions (which is a common average number). We are talking
30.
▲
by
herobird
2y ago
I am aware of Wizard and I think it is a pretty interesting Wasm runtime. It would be really cool if it was part of Wasmi's benchmark testsuite ( https://github.com/wasmi-labs/wasmi-benchmarks ). Contributions to ad
More ›