Commit ab591ee
[release/10.0] Reduce contention in UnwindInfoTable seen during high volume LCG method creation (#129035)
Backport of #128619 to release/10.0
/cc @eduardo-vp
## Customer Impact
- [x] Customer reported
- [ ] Found internally
This regression causes test suites to run up to 1.7x slower on Windows
in .NET 10. Issue originally reported in
#123124.
## Regression
- [x] Yes
- [ ] No
## Testing
The fix was verified using two benchmarks mentioned in the original PR.
I think this is very specific to situations where a high volume of LCG
methods are created simultaneously which explains why the issue was
previously missed.
## Risk
Medium. It changes the behavior of `UnwindInfoTable` to fix the
regression. However, the change has been in main for ~3 weeks and no
issues have been linked to this PR.
**IMPORTANT**: If this backport is for a servicing release, please
verify that:
- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).
## Package authoring no longer needed in .NET 9
**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.
---------
Co-authored-by: Eduardo Velarde <evelardepola@microsoft.com>
Co-authored-by: Eduardo Velarde <32459232+eduardo-vp@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>1 parent 205f14e commit ab591ee
4 files changed
Lines changed: 268 additions & 64 deletions
0 commit comments