-
Notifications
You must be signed in to change notification settings - Fork 180
Prep work for WAMR integration #652
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
base: master
Are you sure you want to change the base?
Conversation
By the way, I would suggest to disable the automatic pipelines from running for draft PR. |
Thanks for getting this effort started! ❤️🔥 |
Not sure how to do that, but I'd be happy to turn that on! |
https://github.com/orgs/community/discussions/25722 |
Just a quick update. The wasi version of esbuild from https://www.npmjs.com/package/@esbuild/wasi-preview1?activeTab=readme seems to be working fine on WAMR. wasip1 cannot open sockets, so some of the more obscure features of esbuild might not be available, but the intended purpose should be covered. |
That's awesome! Let's do it then! |
Hey @KaruroChori, just wondering if you're still working on this? |
Sort of, it is on the list of things to do. |
Not to be merged, just to track what I am doing.
In short, wasm3 is no longer maintained and very slow due to its interpreted nature.
I think it is best for txiki to move away from it and I would suggest to try https://github.com/bytecodealliance/wasm-micro-runtime.
It is advertised as highly configurable and embeddable. https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/embed_wamr.md
One can selectively decide which feature are wanted, limiting the final footprint. It is also possible to run wasm without allocations outside a preallocated region, making it suitable for real embedded applications.
Beyond that, it has a much wider support of standards compared to wasm3, and a AOT can be enabled for systems if they can afford its overhead.
Moving to WAMR would enable further developments in areas where txiki is currently stuck, like adding a fast transpiler to semi-natively run typescript and jsx code.