Preparing for the .NET 10 GC π₯
In .NET 9 DATAS (Dynamic Adaptation To Application Sizes) got enabled by default, but .NET 9 is not an LTS release, so for many people they will be getting DATAS for the first time when they upgrade to .NET 10.
What does βapplication sizeβ mean exactly?
This is the LDS (Live Data Size) from GCβs point of view, meaning that if we did the most aggressive GC possible, this is how much memory your application uses. Another way to look at it is this is your long lived data + whatever inflight data you have when a GC occurs.
The goal for DATAS is that you no longer need to do various configurations to try to achieve a heap size proportional to your application usage. The 2 main cases we target with DATAS are:
1) Bursty workloads running in memory constraint environments. DATAS aims to retract the heap size back when the application doesnβt require as much memory and grow it when the app requires more. This is especially important for apps running in containers with memory limits.
2) Small workloads using Server GC β for example, if someone wants to try out a small asp.net core app to see what the experience is like in .NET, DATAS aims provide a heap size much more inline with what the small app actually needs.
[ Article ] : https://maoni0.medium.com/preparing-for-the-net-10-gc-88718b261ef2
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#dotnet #gc
@ProgrammingTip
In .NET 9 DATAS (Dynamic Adaptation To Application Sizes) got enabled by default, but .NET 9 is not an LTS release, so for many people they will be getting DATAS for the first time when they upgrade to .NET 10.
What does βapplication sizeβ mean exactly?
This is the LDS (Live Data Size) from GCβs point of view, meaning that if we did the most aggressive GC possible, this is how much memory your application uses. Another way to look at it is this is your long lived data + whatever inflight data you have when a GC occurs.
The goal for DATAS is that you no longer need to do various configurations to try to achieve a heap size proportional to your application usage. The 2 main cases we target with DATAS are:
1) Bursty workloads running in memory constraint environments. DATAS aims to retract the heap size back when the application doesnβt require as much memory and grow it when the app requires more. This is especially important for apps running in containers with memory limits.
2) Small workloads using Server GC β for example, if someone wants to try out a small asp.net core app to see what the experience is like in .NET, DATAS aims provide a heap size much more inline with what the small app actually needs.
[ Article ] : https://maoni0.medium.com/preparing-for-the-net-10-gc-88718b261ef2
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#dotnet #gc
@ProgrammingTip
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Programming Tips Resources