-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Survived Memory #1596
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
Survived Memory #1596
Conversation
c88f7bf to
db259cd
Compare
|
.NET Core 3.1 and 5.0 measurement issue: dotnet/runtime#45446 |
82ec67e to
fa943b3
Compare
3e88680 to
116b4e0
Compare
cac6356 to
b3f2aaf
Compare
|
Looks like measurement errors are fixed in .Net 7 as of dotnet/runtime#67160. |
16a0665 to
5a9f217
Compare
5a9f217 to
a51fe70
Compare
51d25f1 to
73fffb5
Compare
7b8667d to
91027de
Compare
…rst benchmark run.
91027de to
0d6500f
Compare
|
Looking forward to this feature 👀 |
|
Unfortunately, survived memory is not so simple for the framework to measure automatically. The first invocation will include jit allocations and static memory, and the second invocation will miss pooled objects. When I used this in my own benchmarks (https://github.com/timcassell/CSharpAsynchronousBenchmarks), I took care to measure only pooled objects by adjusting the benchmarks in a complicated way. I don't think it's good for users to have to do that to get useful measurements. I think this will be better served by #784, so users can capture the survived memory that matters to them. |
In an attempt to address my question on #1579, I worked on this.
I added an optional
includeSurvivedflag onMemoryDiagnoserAttributeand--memorySurvivedcommand line option to capture the survived memory from a benchmark run.