Wasmtime: separate Pool out of Engine
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
Direzione di ricerca
This is a design proposal, not a ready change: the payload names only PoolingAllocatorConfig, Engine, Component::new, Component::required_resources and Store::new. Start by reading how PoolingAllocatorConfig ties allocation settings to Engine construction, and decide which settings affect codegen and must stay on Engine. Done means an agreed design for a separate Pool type, not a patch. Ask the maintainers before writing code.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
For historical reasons, Wasmtime's pooling allocator and the Engine struct are joined at the hip. Some aspects that affect pooling are indeed linked to codegen and therefore an Engine, but other aspects are not necessarily linked and, in fact this makes some kinds of configurations - the reasonable problem statement "I want a pooling allocator which can provide N instances of Component X" - unnecessarily difficult, or require crude hacks (e.g. serializing and deserializing a Component to move it between code-compatible Engines).
My rough design sketch:
- Engine construction still locks in all aspects of a Module and Component's compilation that affect codegen. This is a very important design principle of Wasmtime we should consider basically set in stone.
- There can be more than one allocator of Stores/Instances associated with an Engine, and the lifetime of those can be shorter than the Engine.
- An Engine can be used for Component::new, and then a pooling allocator (as a new struct wasmtime::Pool) can be constructed based on Component::required_resources and the number of slots desired - basically, we separate out all aspects of
PoolingAllocatorConfigthat do not affect codegen, and make that construct a Pool, not an Engine. Notionally,Pool::new_store(&self, data) -> Result<Store<T>>works likeStore::new(&Engine, data) -> Store<T>, failing when the pool does not have available slots. - In the absence of Pool use, all of the existing Engine machinery works with the on-demand allocator.
- Lingua principale
- Rust
- Stelle
- 18.8k
- Fork
- 1.9k
- Merge medio
- 1g 3h
- PR unite (30g)
- 384
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bytecodealliance/wasmtime
-
bug wasm-proposal:exceptions wasmtime:debugging
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bytecodealliance/wasmtime#14102 ·
I maintainer di solito rispondono entro 1 giorno
-
wasm-proposal:gc
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
bytecodealliance/wasmtime#13808 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
RUSTSEC-2026-0441: `pin-utils` is unmaintainedForse già presa @pchickey l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 20/100
bytecodealliance/wasmtime#15177 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 46/100
bytecodealliance/wasmtime#15168 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
bytecodealliance/wasmtime#15160 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bytecodealliance/wasmtime
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ScoopInstaller/Extras#19275 ·
I maintainer di solito rispondono entro 1 giorno
-
area:plugins kind:bug priority:p2 ready
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
bug priority: medium ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
storytold/gridcraft#3496 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bip39: Mnemonic::new_from_phrase rejects phrases with extra or non-space whitespaceForse già presa @chukwudiikeh l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno