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
Title: Avoid types that require JIT compilation in precompiled assemblies
Description:
Assemblies that are precompiled (using ngen.exe) should only instantiate generic types that will not cause JIT compilation at runtime. Generic types with value type type parameters (outside of a special set of supported runtime generic types) will always cause JIT compilation, even if the encapsulating assembly has been precompiled. If this is not an precompiled assembly this message should be suppressed or this rule should be disabled.
Dependency: None
Notes:
The text was updated successfully, but these errors were encountered:
Context
The sole purpose of introducing the type seems to have been silencing a legacy code analyzer rule. The rule does not exist anymore / has not been brought over to Roslyn (dotnet/roslyn-analyzers#722) and it's now hurting performance, if anything. Types like HashSet<int> are part of the mscorlib native image and it's wasteful to duplicate the code in our binaries. The rest is handled by IBC/OptProf.
Changes Made
Deleted NGen and its uses.
Testing
Experimental insertion to confirm no regressions.
Context
The sole purpose of introducing the type seems to have been silencing a legacy code analyzer rule. The rule does not exist anymore / has not been brought over to Roslyn (dotnet/roslyn-analyzers#722) and it's now hurting performance, if anything. Types like HashSet<int> are part of the mscorlib native image and it's wasteful to duplicate the code in our binaries. The rest is handled by IBC/OptProf.
Changes Made
Deleted NGen and its uses.
Testing
Experimental insertion to confirm no regressions.
Title: Avoid types that require JIT compilation in precompiled assemblies
Description:
Assemblies that are precompiled (using ngen.exe) should only instantiate generic types that will not cause JIT compilation at runtime. Generic types with value type type parameters (outside of a special set of supported runtime generic types) will always cause JIT compilation, even if the encapsulating assembly has been precompiled. If this is not an precompiled assembly this message should be suppressed or this rule should be disabled.
Dependency: None
Notes:
The text was updated successfully, but these errors were encountered: