bytecodealliance / bytecodealliance/componentize-py

Wizer pre-initialization

Open
#142 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.