You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The zlib is required for compiling and running many existing C / C++ / Rust apps in Wasm. Most noticeably, it is required for the Python port to Wasm. The VMWare Wasm Labs team is using a zlib port from Singlestore in their Python Wasm runtime.
In WasmEdge, we could support the zlib host functions through our plug-in system. This way, any existing zlib apps can be compiled to Wasm and run inside WasmEdge. The immediate benefits of this approach are three folds:
By using native zlib libraries, we could improve the performance of zlib apps in wasm, especially in the interpreter mode.
It is significantly easier for developers to just compile their programs to wasm, as opposed to having to compile zlib itself to wasm and then link with their apps.
There is no need for developers to register host functions for zlib in their apps. The plug-in does it from inside WasmEdge.
Since we are supporting zlib from within WasmEdge, we are not introducing another host app to wrap around WasmEdge. WasmEdge remains the "container" of the app. The zlib apps would be able to seamlessly run in WasmEdge embedded in Docker Desktop, Kubernetes, containerd, OpenShift, and other container tools.
Motivation
Read: feat: a zlib plugin
The zlib is required for compiling and running many existing C / C++ / Rust apps in Wasm. Most noticeably, it is required for the Python port to Wasm. The VMWare Wasm Labs team is using a zlib port from Singlestore in their Python Wasm runtime.
In WasmEdge, we could support the zlib host functions through our plug-in system. This way, any existing zlib apps can be compiled to Wasm and run inside WasmEdge. The immediate benefits of this approach are three folds:
Since we are supporting zlib from within WasmEdge, we are not introducing another host app to wrap around WasmEdge. WasmEdge remains the "container" of the app. The zlib apps would be able to seamlessly run in WasmEdge embedded in Docker Desktop, Kubernetes, containerd, OpenShift, and other container tools.
Details
Implementation Detail Plan
References
Milestones
M1
[Jun 1 - Jun 7]
POC(C++) + Planning + Buffer Time
M2
[Jun 8 - Jun 14]
Basic Zlib Support(C++/Rust) + Container
M3
[Jun 14 - Jun 30]
Wasm Embed Python + E2E Test
M4
[Jul 1 - Jul 31]
Full Zlib Api Compatibility
M5
[Aug 1 - Aug 7]
Hardening
M6
[Aug 8 - Aug 14]
Usability
M7
[Aug 15 - Aug 21]
Exposure
~~
[Aug 22 - Aug 28]
Spare Week
#2562
The text was updated successfully, but these errors were encountered: