-
Notifications
You must be signed in to change notification settings - Fork 4.9k
.NET 10 P5 Runtime #9912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.NET 10 P5 Runtime #9912
Conversation
Added some JIT notes, along with the GC write barrier improvements on arm64. cc @dotnet/jit-contrib, @AndyAyersMS @kunalspathak I could use a fact check on these -- thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Runtime notes look good to me.
|
||
The .NET garbage collector (GC) is generational, meaning it separates live objects by age to improve collection performance. The GC collects younger generations more often under the assumption that long-lived objects are less likely to be unreferenced (or "dead") at any given time. However, suppose an old object starts referencing a young object; the GC needs to know it cannot collect the young object, but needing to scan older objects to collect a young object defeats the performance gains of a generational GC. | ||
|
||
To solve this problem, the JIT inserts write barriers before object reference updates to keep the GC informed. On x64, the runtime can dynamically switch between write barrier implementations to balance write speeds and collection efficiency, depending on the GC's configuration. [dotnet/runtime #111636](https://github.com/dotnet/runtime/pull/111636) brings this functionality to ARM64 as well. In particular, the new default write barrier implementation on ARM64 handles GC regions more precisely, improving collection performance at slight expense to write barrier throughput: Our benchmarks show GC pause improvements from eight to over twenty percent with the new workstation GC defaults. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with the new workstation GC defaults
It is also applicable even for server GC, not just workstation GC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed it -- thanks
* .NET 10 Preview 5 * update * lint * Add C# features in preview 5 Write the description for user defined compound assignment operators. * Revert "Add C# features in preview 5" This reverts commit 42e5ac6. * Remove VB release notes for P5 There aren't notable new features in Visual Basic for Preview 5. * Add notes about PQC * Add PQC to the libraries ToC * .NET 10 P5 - WinForms (#9919) * winforms * WinForms Preview 5 Preview 5 updates * Fix duplicated intro --------- Co-authored-by: Merrie McGaw <[email protected]> Co-authored-by: Andy (Steve) De George <[email protected]> * .NET 10 P5 - Containers (#9917) * containers * update for p5 * .NET 10 P5 - WPF (#9918) * wpf * Add notes --------- Co-authored-by: Andy (Steve) De George <[email protected]> * .NET 10 P5 Runtime (#9912) * Update for Runtime * Add JIT notes * Fix GC notes --------- Co-authored-by: Aman Khalid (from Dev Box) <[email protected]> * .NET 10 P5 - Languages (#9916) * update csharp * Add C# features in preview 5 Write the description for user defined compound assignment operators. * Remove VB release notes for P5 There aren't notable new features in Visual Basic for Preview 5. * Update fsharp.md * Update fsharp.md * Update fsharp.md * add vb back just to link to docs * update f# * Update README.md --------- Co-authored-by: Bill Wagner <[email protected]> Co-authored-by: Tomas Grosup <[email protected]> * updates for lint * update (#9915) * update for sdk (#9914) * some more updates * .NET MAUI in 10 Preview 5 (#9921) * .NET MAUI in 10 Preview 5 * Update dotnetmaui.md * added contributors * hybridwebview interception * addressing comments --------- Co-authored-by: James Montemagno <[email protected]> * linting * Update release-notes/10.0/preview/preview5/README.md Co-authored-by: Martin Costello <[email protected]> * Update release-notes/10.0/preview/preview5/README.md Co-authored-by: Martin Costello <[email protected]> * Update ef and date * updating md file * Added updates to README --------- Co-authored-by: Bill Wagner <[email protected]> Co-authored-by: Jeremy Barton <[email protected]> Co-authored-by: Merrie McGaw <[email protected]> Co-authored-by: Andy (Steve) De George <[email protected]> Co-authored-by: Aman Khalid (from Dev Box) <[email protected]> Co-authored-by: Tomas Grosup <[email protected]> Co-authored-by: David Ortinau <[email protected]> Co-authored-by: Martin Costello <[email protected]> Co-authored-by: victorisr <[email protected]>
No description provided.