-
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
Potential perf improvements for Mono AOT #76318
Comments
We could also apply it to WASM AOT config (#75801) |
We do not build separate libraries for Mono AOT vs. non-AOT config. We have one set of managed libraries per architecture, for all codegen strategies. You would not be able to do this using Also, there are mixed partially AOTed configs where the AOT vs. non-AOT is difference is per method. It makes the switch even harder. |
I don't think there is a way to distinguish aot/non-aot in an |
I think this can be closed. We need to fix the Mono limitations that lead to the bad perf regressions, and delete the forked implementation that was added as a workaround for .NET 7. It is ok to take small perf regressions in some scenarios. |
Great; thanks for the clarification that we cannot distinguish aot/non-aot in that manner. @adamsitnik and I wanted to confirm we weren't overlooking a different way to dial this for 7.0. |
#76033 will likely fix the (most of) the wasm AOT case were we to revert but we don't yet have a solution for the interpreter |
#73768 has brought a lot of improvements for CLR, but regressed Mono. It was "reverted" in #75917 to fix Mono.
When looking at the WASM and Mono data in the Reporting System I've noticed that Mono AOT (regular one, not WASM) was actually benefiting from #73768
Example:
Span.IndexOf for Mono AOT x64
I am not 100% sure that it applies to all architectures, as Mono AOT arm64 has not received any new data inputs in the last few weeks (cc @naricc @DrewScoggins).
It does not apply to Mono Interpeter:
@vargaz @jkotas should we modify the
#if
defs introduced in #75917 to not be applied to Mono AOT? I think that doing this formain
branch should be relatively safe (as long as we benchmark the change before merging).The text was updated successfully, but these errors were encountered: