bytecodealliance / bytecodealliance/wac
`wac_types::Package` not having its own `wac_types::Types` requires re-parsing packages on every composition
- Dominant language
- Rust
- Stars
- 208
- Forks
- 41
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 3
Description
In my usecase, I need to perform several compositions that each have a different "main" component but several util components that are the same (they implement WASI, similar to what wasi-virt does but even more constrained). Previously, I was only parsing these util packages once (using `Package::from_bytes`, storing them in a `std::sync::OnceLock`, and then using them in many compositions.
I just updated my code to the latest version of wac on git. Now that the `wac_types::Types` are inside the `wac_graph::CompositionGraph`, I can no longer cache (or at least I don't know how to) the util packages but need to re-parse them on every composition.
Perhaps there could be an extra utility function, e.g. `wac_graph::CompositionGraph::register_package_with_types`, to take in another `wac_types::Types` instance and to add all of these types to the composition graph's types and to remap the package's types into the composition graph's ones (I assume something like that was done before)?
Thank you for your help and all of your amazing work on these crates!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.