-
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
[Perf] NAOT iOS HelloWorld size: 4 Regressions on 5/15/2024 8:03:38 AM #104074
Comments
The range for regression is 778cc84...a71a85a. Could it be #102183 @MichalStrehovsky? ... but seems unlikely that adding assembly name would cause 5% regression in size... |
If this is measuring size with symbols, it would be from that. Symbols should be stripped before measuring size though. |
This one should be without symbols ( |
I've kicked off a size validation job in MichalStrehovsky/rt-sz#22 (results will be there in ~20 minutes) just to be sure, but that change should only affect symbols (and if it's from that, we should have seen an improvement in January when the regression my PR is fixing was introduced). |
Looks like the size validation didn't show any regression. I wonder if it could be something mobile + NAOT specific as it doesn't show in you validation job yet the range doesn't contain anything else related to NAOT. |
This should really only affect mangled names and mangled names are only used for symbols. Is it possible to get the binary that this is measuring? Just the after binary should be enough to rule out bad symbol stripping configuration. |
@LoopedBard3 do you think it is possible to get the binaries? I found the Perf build https://dev.azure.com/dnceng/internal/_build/results?buildId=2451389&view=logs&j=4f320d25-c1ea-5d1a-2cd7-ab8121a51286 but the Artifacts only contains binlogs. |
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
fyi: @ivanpovazan |
I think the binaries are right there: Click the "Download iOS Sample App" step.
Click that, follow the JSON to https://dev.azure.com/dnceng/_apis/resources/Containers/17496355?itemPath=iOSSampleAppNoSymbolsHybridGlobalizationTrue%2FiOSSampleAppNoSymbolsHybridGlobalizationTrue.zip. And sure enough, the binary is not stripped properly. There should not be any |
Thanks Michal for pointing to the root cause! runtime/src/tasks/AppleAppBuilder/Xcode.cs Line 679 in 2d2d59c
That being said, in cases like this, we should check if the MAUI app also regressed (MAUI apps use full stripping):
|
I took a look at our MAUI measurements and the regression for the range (84b3339...de6897b) containing this change is minimal (0.014 MB) + the MAUI version also changed dotnet/maui@562713c...13942bd so it is likely not even related. |
@matouskozak in that case I would suggest then closing this issue and link the problem we experienced here to #81530 |
Run Information
Regressions in SOD - iOS HelloWorld NativeAOT .app Size nollvm nosymbols
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
SOD - iOS HelloWorld NativeAOT .app Size nollvm 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: