bytecodealliance / bytecodealliance/componentize-py
Wizer pre-initialization
- Dominant language
- Rust
- Stars
- 277
- Forks
- 51
- Avg merge
- 12h 10m
- Merged PRs (30d)
- 10
Description
Would it be possible to implement the same Wizer pre-initialization for componentize-py, [similar to ComponentizeJS](https://github.com/bytecodealliance/ComponentizeJS?tab=readme-ov-file#wizer-pre-initialization)?
Loading a Python-based Wasm component into memory (using wasmtime) takes many seconds and it would be great if we could find a way to reduce that to hundreds of milliseconds as for the other supported languages.
For comparison, here are the load times for different languages on my MacBook Pro (pretty much an empty component):
- Rust: 50ms
- Go: 60ms
- JS: 800ms
- **Python: 2 seconds**
Contributor guide
Research direction
Start by reading the ComponentizeJS Wizer pre-initialization documentation linked in the issue, then trace how componentize-py loads a Python-based Wasm component with wasmtime. Measure an empty component's current load time and define the work as complete when pre-initialization reduces it from seconds toward hundreds of milliseconds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust, wasm
- Domain
- backend, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100