-
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
[iOS][Perf] iOS HelloWorld size regressions on 7/12/2024 8:02:23 AM #104952
Comments
Could the size regression be related to #103837 @tannergooding ? The full range is 5795e8c...4a1a076 This is a significant regression (~0.6MB on the .app size). Fyi: @fanyang-mono @vitek-karas |
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
Potentially. There were a significant number of APIs added and they have quite a lot of logic behind them. They also use generics to reduce the amount of code needing to be maintained, without the use of generics every API added would've need to have the same logic manually duplicated at least 7x. In some cases they would need to be duplicated up to a further 10x beyond that. -- The 7 is for each of the vector types ( This is also without trimming, correct? |
I see it on webassembly too, with trimming enabled. cc @lewing |
That's a bit unexpected to see it with trimming. These are essentially all net new APIs that shouldn't be getting used anywhere and so shouldn't be getting kept around in the trimmed assembly |
I believe Mono is currently unable to trim out these APIs because it's not able to distinguish if only a some of the class APIs get used and the rest doesn't. Consequently, it it generates a code for every method of the class I'm closing in favor of #105701, feel free to re-open if you think this issue requires a separate attention. |
Run Information
Regressions in SOD - iOS HelloWorld Mono Zip Size llvm nosymbols
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
Prerequisites (Build files either built locally or downloaded from payload above)
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release
Linux
Windows
SOD - iOS HelloWorld Mono Zip Size llvm nosymbols
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in SOD - iOS HelloWorld Mono .app Size llvm nosymbols
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
Prerequisites (Build files either built locally or downloaded from payload above)
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release
Linux
Windows
SOD - iOS HelloWorld Mono .app Size llvm nosymbols
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: