-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Remove most unnecessary resources from PNSE assemblies and partial facade assemblies #46186
Conversation
Tagging subscribers to this area: @safern, @ViktorHofer Issue DetailsFix #46181
Other than the PNSE resources, I didn't split any Strings.resx's -- in a few cases I looked at, there were only a few strings different between different configurations, but there may be cases where there are larger differences (eg., many Windows specific strings) Not sure how to best measure, but artifacts\packages\Debug\Shipping is about 300KB smaller
|
Think the issue link above is incorrect, it points to my PR :) |
Fixed, copy paste error - gosh I didn't create this very cleanly. |
src/libraries/System.Collections.Concurrent/src/System.Collections.Concurrent.csproj
Show resolved
Hide resolved
Failing test fixed by #46564 |
@stephentoub do you have any other feedback? |
Nope |
@safern @ViktorHofer perhaps one of you could review? |
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.
Looks reasonable. @ericstj might be interested on this change as well.
@@ -0,0 +1,63 @@ | |||
<root> |
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.
Rather than checking all this in, can we just generate it to obj? It seems these all match the same template.
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.
Hmm, good idea. I don't know why that didn't occur to me.
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 suggested the resx in the issue, so it was my fault 😆
That'll be compressed and won't show you the improvements you made to shared framework size. You could enumerate all dlls under artifacts\bin that are PNSE's and measure before and after when doing allconfigs build. I believe you can observe a PNSE by reading this attribute:
|
Draftifying until I have time to do that. It will be a few days. |
Draft Pull Request was automatically closed for inactivity. It can be manually reopened in the next 30 days if the work resumes. |
There are some PNSE messages that are not formulaic. If we generate them centrally, they would become eg
|
A property value could specify that if you want (there may already be one), or you could say that folks which want to customize the message can use the checked in resx model. |
Fix #28888
Other than the PNSE resources, I didn't split any Strings.resx's -- in a few cases I looked at, there were only a few strings different between different configurations, but there may be cases where there are larger differences (eg., many Windows specific strings)
Not sure how to best measure, but artifacts\packages\Debug\Shipping is about 300KB smaller