Skip to content
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

IcuLocaleData.NameIndexToNumericData is not linker friendly #47967

Open
vargaz opened this issue Feb 7, 2021 · 9 comments
Open

IcuLocaleData.NameIndexToNumericData is not linker friendly #47967

vargaz opened this issue Feb 7, 2021 · 9 comments
Labels
area-System.Globalization size-reduction Issues impacting final app size primary for size sensitive workloads
Milestone

Comments

@vargaz
Copy link
Contributor

vargaz commented Feb 7, 2021

NameIndexToNumericData is a 15k byte array which cannot be linked out even through much of the information inside it is not needed if not all entries in IcuLocaleDataParts are used by the app. It would be better to have 1 array for each entry in IcuLocaleDataParts.

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Feb 7, 2021
@vargaz vargaz added the linkable-framework Issues associated with delivering a linker friendly framework label Feb 7, 2021
@ghost
Copy link

ghost commented Feb 7, 2021

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @tannergooding, @sbomer
See info in area-owners.md if you want to be subscribed.

Issue Details

NameIndexToNumericData is a 15k byte array which cannot be linked out even through much of the information inside it is not needed if not all entries in IcuLocaleDataParts are used by the app. It would be better to have 1 array for every entry in IcuLocaleDataParts.

Author: vargaz
Assignees: -
Labels:

linkable-framework, untriaged

Milestone: -

@danmoseley danmoseley added area-System.Globalization size-reduction Issues impacting final app size primary for size sensitive workloads labels Feb 7, 2021
@ghost
Copy link

ghost commented Feb 7, 2021

Tagging subscribers to this area: @tarekgh, @safern, @krwq
See info in area-owners.md if you want to be subscribed.

Issue Details

NameIndexToNumericData is a 15k byte array which cannot be linked out even through much of the information inside it is not needed if not all entries in IcuLocaleDataParts are used by the app. It would be better to have 1 array for each entry in IcuLocaleDataParts.

Author: vargaz
Assignees: -
Labels:

area-System.Globalization, linkable-framework, size-reduction, untriaged

Milestone: -

@ghost ghost added this to Untriaged in ML, Extensions, Globalization, etc, POD. Feb 7, 2021
@tarekgh tarekgh removed the untriaged New issue has not been triaged by the area owner label Feb 7, 2021
@tarekgh
Copy link
Member

tarekgh commented Feb 7, 2021

@marek-safar @vargaz we need to decide for such issues if it is nice to have or it has to be fixed in 6.0. To know the priority and plan for that. Or you expecting your team will take care with that?

@tarekgh tarekgh added this to the 6.0.0 milestone Feb 7, 2021
@ghost ghost moved this from Untriaged to 6.0.0 in ML, Extensions, Globalization, etc, POD. Feb 7, 2021
@marek-safar marek-safar removed the linkable-framework Issues associated with delivering a linker friendly framework label Feb 8, 2021
@marek-safar
Copy link
Contributor

This was discussed in #45643 (comment)

@tarekgh teams working on size goals will take care of this when it fits into their priorities list.

@tarekgh tarekgh modified the milestones: 6.0.0, Future Feb 8, 2021
@ghost ghost moved this from 6.0.0 to Untriaged in ML, Extensions, Globalization, etc, POD. Feb 8, 2021
@ghost ghost moved this from Untriaged to Future in ML, Extensions, Globalization, etc, POD. Feb 8, 2021
@tarekgh
Copy link
Member

tarekgh commented Feb 8, 2021

I moved it to future milestone for now and can be brought back to 6.0 when is decided otherwise.

@eerhardt
Copy link
Member

eerhardt commented Apr 6, 2021

In a dotnet new blazorwasm app - I see these parts being used:

  • IcuLocaleDataParts.Lcid ( indices 0-2 )
  • IcuLocaleDataParts.DigitSubstitutionOrListSeparator (index 14)
  • IcuLocaleDataParts.SpecificLocaleIndex (indices 15-16)

so 6 out of 18 bytes are being used, potentially saving 66% of this table.

If this table is 15KB, that means we could potentially save 10KB (uncompressed).

@SamMonoRT
Copy link
Member

@tarekgh - been a couple months since this was last discussed - just confirming that we can/cannot fit this in .NET 6 ? (Is the Future milestone still accurate ?)

@tarekgh
Copy link
Member

tarekgh commented Jun 17, 2021

@SamMonoRT nothing changes per the comment #47967 (comment). It still marked for future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Globalization size-reduction Issues impacting final app size primary for size sensitive workloads
Projects
None yet
Development

No branches or pull requests

6 participants