You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We keep references to all found type symbols in order to be able to look for usages a second time when the compilation ends and report for unused internal symbols. These references put huge memory pressure and the analysis is very slow on large projects which do not have InternalsVisibleTo attributes.
The analysis takes reasonable amount of time. For example, on a project with 1000 classes with complex syntax trees (about 300 loc) the analysis should take about 2min or less. The used memory from the compiler is reasonable (on the example project, no more than 1GB).
Actual behavior
Analysis takes 20+ minutes on the aforementioned project. On larger projects the analysis takes much more (see #2154) and the used memory during the compilation is >2GB.
Description
We keep references to all found type symbols in order to be able to look for usages a second time when the compilation ends and report for unused
internal
symbols. These references put huge memory pressure and the analysis is very slow on large projects which do not haveInternalsVisibleTo
attributes.Related bug report #2154
Repro steps
InternalsVisibleTo
attributes in the project.Expected behavior
The analysis takes reasonable amount of time. For example, on a project with 1000 classes with complex syntax trees (about 300 loc) the analysis should take about 2min or less. The used memory from the compiler is reasonable (on the example project, no more than 1GB).
Actual behavior
Analysis takes 20+ minutes on the aforementioned project. On larger projects the analysis takes much more (see #2154) and the used memory during the compilation is >2GB.
Known workarounds
InternalsVisibleTo
attributeRelated information
The text was updated successfully, but these errors were encountered: