-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-metadataArea: Crate metadataArea: Crate metadataC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
The lack of string interning causes the metadata for rlibs to massively bloat. libwinapi.rlib
for example takes up 54MB, which is mostly due to strings being repeated needlessly, and exacerbated by the sheer length of many of the identifiers. Simple greps of the file indicate basically all identifiers being repeated multiple times. Even something as simple as a constant that is never referenced has its name repeated at least 3 times. Interning strings would have massive space savings.
cc @eddyb who helped in figuring this out.
Metadata
Metadata
Assignees
Labels
A-metadataArea: Crate metadataArea: Crate metadataC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.