Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a single WASM interface per nodeos (instead of per thread) to save WASM compile time and cache #1549

Merged
merged 14 commits into from
Sep 8, 2023

Conversation

linh2931
Copy link
Member

A part of eosnetworkfoundation/product#149.

Currently when read-only threads are enabled, each thread maintains its own WASM interface which in turn keeps its own instantiated module cache. This leads to

  • the sample contract is compiled multiple times by the threads,
  • the same instantiated module is cached multiple times,
  • extra abstraction layer: wasm_interface_collection had to be introduced to hide the complicated logic to manage WASM interface on the main thread and the read-only threads.

This PR changes to use a single WASM interface per nodeos, resolving all the three issues mentioned above.

@linh2931 linh2931 merged commit 185a135 into main Sep 8, 2023
22 checks passed
@linh2931 linh2931 deleted the leap_single_wasmif branch September 8, 2023 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants