bytecodealliance / bytecodealliance/wac

`wac_types::Package` not having its own `wac_types::Types` requires re-parsing packages on every composition

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.