Skip to content

.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

Merged
merged 4 commits into from
Jun 9, 2025
Merged

.NET 10 P5 Runtime #9912

merged 4 commits into from
Jun 9, 2025

Conversation

jamesmontemagno
Copy link
Member

No description provided.

@jamesmontemagno jamesmontemagno changed the title .NET 10 P5 Runtim .NET 10 P5 Runtime Jun 2, 2025
@amanasifkhalid
Copy link
Member

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!

Copy link
Member

@AndyAyersMS AndyAyersMS left a 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.
Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed it -- thanks

@jamesmontemagno jamesmontemagno merged commit b10ffa2 into dotnet10-p5 Jun 9, 2025
2 checks passed
@jamesmontemagno jamesmontemagno deleted the dotnet10-p5-runtime branch June 9, 2025 23:11
rbhanda pushed a commit that referenced this pull request Jun 10, 2025
* .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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants