Skip to content

[wasm] Add a monitoring phase to jiterpreter traces and discard unproductive ones #83432

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

Merged
merged 3 commits into from
Mar 15, 2023

Conversation

kg
Copy link
Member

@kg kg commented Mar 15, 2023

This PR adds a monitoring phase to jiterpreter traces, where we measure their result displacement (in bytes) and reject traces that appear to be aborting early (due to things like calls). A proper implementation of this would measure the number of executed opcodes instead, but it's currently not possible to do that.

In my testing this significantly improves the performance of V8.Crypto.Bench, one of the remaining significant regressions from the dotnet/performance suite.

kg added 3 commits March 14, 2023 18:12
…average distance (in bytes) they travel

Then reject traces that have a low average distance after the monitoring period
@ghost
Copy link

ghost commented Mar 15, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR adds a monitoring phase to jiterpreter traces, where we measure their result displacement (in bytes) and reject traces that appear to be aborting early (due to things like calls). A proper implementation of this would measure the number of executed opcodes instead, but it's currently not possible to do that.

In my testing this significantly improves the performance of V8.Crypto.Bench, one of the remaining significant regressions from the dotnet/performance suite.

Author: kg
Assignees: -
Labels:

arch-wasm, area-Codegen-Jiterpreter-mono

Milestone: -

@kg kg merged commit 1cfda5e into dotnet:main Mar 15, 2023
kg added a commit to kg/runtime that referenced this pull request Mar 15, 2023
kg added a commit that referenced this pull request Mar 15, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Apr 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants