-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-Implement resumable functions in wasmi
#537
Comments
Small note: Wasmtime also doesn't provide a "resumable functions-like" API. In order to work around this in smoldot, I've implemented a "resumable functions-like" API on top of it. However, this comes at a pretty significant performance cost and is only possible because wasmtime allows you to bind asynchronous functions. However, to be clear, to me the superior API is the "resumable functions" one. Any other API can be implemented on top of it with (in theory) a negligible performance cost. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
The design in #598 is as follows: |
@tomaka provided us with a compelling argument for supporting resumable functions in
wasmi
again: #536We removed the resumable functions feature in
wasmi
version0.14
which also is the release in which we moved from the so-called legacywasmi
engine to the new reimplementedwasmi
engine.For simplicity and also because we were not aware of any important use cases back then we removed support for resumable functions. However, even though the new
wasmi
engine works quite differently and has a substantially different interface we are confident that resumable functions can be re-implemented for it.This issue tracks progress and accumulates design ideas, issues and rationals.
edit: legacy
wasmi
API for resumable functions: https://docs.rs/wasmi/0.13.2/wasmi/struct.FuncInvocation.htmlThe text was updated successfully, but these errors were encountered: