-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[wasm] Disable interp pgo recording by default since it adds startup overhead #101566
Conversation
Tagging subscribers to this area: @BrzVlad, @kotlarmilos |
Address PR feedback
interpreterPgo: value, | ||
interpreterPgoSaveDelay: autoSaveDelay | ||
}); | ||
if (monoConfig.runtimeOptions) | ||
monoConfig.runtimeOptions.push("--interp-pgo-recording"); | ||
else | ||
monoConfig.runtimeOptions = ["--interp-pgo-recording"]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea around here is that deep_merge_config
solves this type of conditional assignement
interpreterPgo: value, | |
interpreterPgoSaveDelay: autoSaveDelay | |
}); | |
if (monoConfig.runtimeOptions) | |
monoConfig.runtimeOptions.push("--interp-pgo-recording"); | |
else | |
monoConfig.runtimeOptions = ["--interp-pgo-recording"]; | |
interpreterPgo: value, | |
interpreterPgoSaveDelay: autoSaveDelay, | |
runtimeOptions: ["--interp-pgo-recording"] | |
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
runtime/src/mono/browser/runtime/loader/config.ts
Lines 36 to 37 in 09b983e
if (providedConfig.runtimeOptions !== undefined && providedConfig.runtimeOptions !== target.runtimeOptions) { | |
providedConfig.runtimeOptions = [...(target.runtimeOptions || []), ...(providedConfig.runtimeOptions || [])]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, thanks. I'll make a follow-up PR to clean this up.
…overhead (dotnet#101566) * Disable interp pgo recording by default since it adds startup overhead * Make withRuntimeOptions not trample existing runtime options
…overhead (dotnet#101566) * Disable interp pgo recording by default since it adds startup overhead * Make withRuntimeOptions not trample existing runtime options
During startup for interpreted blazor we seem to spend a small but notable amount of time in here even if interp PGO isn't actually enabled. It's possible to set runtime options at startup, so anyone who wants to use interp PGO can just change this option in their app config, I think.
Open as draft for now because I think this will make a WBT fail.