Skip to content

Use synchronous runtime for the main wasm execution lane#5095

Open
joshua-spacetime wants to merge 1 commit into
masterfrom
joshua/wasm-sync
Open

Use synchronous runtime for the main wasm execution lane#5095
joshua-spacetime wants to merge 1 commit into
masterfrom
joshua/wasm-sync

Conversation

@joshua-spacetime
Copy link
Copy Markdown
Contributor

Description of Changes

Before this change, we used a single async-enabled wasm runtime for all requests, even though procedures are the only operation that can yield. Now each module gets two separate runtimes. We continue to use the same async runtime for procedures, but now reducers are executed against a synchronous wasm runtime, backed by a single OS-thread instead of a Tokio runtime.

The purpose of this change is to remove from the critical path the overhead associated with async calls that really aren't async at all.

API and ABI breaking changes

None

Expected complexity level and risk

2.5

Testing

Pure refactor. Relies on current test coverage. #5078 will ensure the performance is on par with V8.

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.

1 participant