Skip to content

Conversation

@trylek
Copy link
Member

@trylek trylek commented Mar 20, 2023

I have verified in the ASP.NET perf lab that the combined ASP.NET + framework composite image can achieve better startup perf by about 5% by using the standard MIBC optimization data so I'm proposing to modify the build script to use it. The resulting composite image is larger by about 850 KB (Linux x64 without MIBC = 33,853,952 B, with MIBC = 34,702,336 B) so I believe that thanks to the fact that I recently reduced the composite image size by more than 30 MB we have sufficient headroom to make this change.

Thanks

Tomas

P.S. In some previous meetings I mentioned worse startup perf when using MIBC data for building the composite image; that was due to a self-inflicted wound - at one point I was mostly focusing on reducing size so I modified my perf measurement tool to automatically apply the "--partial" option in the presence of a MIBC file, that apparently turns out to be too drastic in terms of startup perf.

/cc @dotnet/crossgen-contrib

I have verified in the ASP.NET perf lab that the combined
ASP.NET + framework composite image can achieve better startup
perf by about 5% by using the standard MIBC optimization data
so I'm proposing to modify the build script to use it. The
resulting composite image is larger by about 850 KB (Linux x64
without MIBC = 33,853,952 B, with MIBC = 34,702,336 B) so
I believe that thanks to the fact that I recently reduced the
composite image size by more than 30 MB we have sufficient
headroom to make this change.

Thanks

Tomas

P.S. In some previous meetings I mentioned worse startup perf
when using MIBC data for building the composite image; that was
due to a self-inflicted wound - at one point I was mostly focusing
on reducing size so I modified my perf measurement tool to
automatically apply the "--partial" option in the presence of
a MIBC file, that apparently turns out to be too drastic in terms
of startup perf.
@ghost ghost added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Mar 20, 2023
@mangod9
Copy link
Member

mangod9 commented Mar 20, 2023

Nice to see a perf gain with mibc. Assume this data is updated regularly>

@trylek
Copy link
Member Author

trylek commented Mar 20, 2023

@mangod9 - According to my understanding of the script the data is pulled from the most recent .NET SDK. Based on @davidwrighton's explanation I believe this is regularly updated based on some bucket of training apps.

@davidwrighton
Copy link
Member

@trylek, @mangod9 Yes, we update the data semi-regularly. In theory it should be daily, but the process of gathering data is somewhat unreliable, and I only have so much time in the year to ensure its working. I make sure it is working towards the end of the release cycle, and occasionally I'm able to fix it up at other times.

Copy link
Member

@wtgodbe wtgodbe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes seem reasonable

@trylek trylek merged commit a35f5bf into dotnet:main Mar 20, 2023
@trylek trylek deleted the MibcComposite branch March 20, 2023 21:08
@ghost ghost added this to the 8.0-preview3 milestone Mar 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants