Conversation
rainersigwald
left a comment
There was a problem hiding this comment.
For these cleanups of stale .NET Framework optimization tricks, can we wait to put them in until 17.9 codeflow is unblocked and we can get a good run with optprof to just validate that they're actually useless as we expect?
|
Sure, this can wait. For what it's worth, there is no impact on 17.8 PerfDDRITs (tested both this change and the removal of |
We should be in good shape now. |
|
@JaynieBai thank you for resolving the conflicts! I'll watch VS insertions to confirm no impact on NGEN-related metrics. |
|
No regressions in the experimental insertion. This is good to go. |
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.