Page 1 of 1

Memory folding

Posted: Mon Feb 20, 2012 5:47 pm
by lakr1
Hello,

I was watching an really interesting recording of Vance Morrison at Channel 9 (http://channel9.msdn.com/posts/NET-45-V ... provements) where he was talking about a new tool that was going to be able to fold all those string, object arrays that always are at the top of a most used type of objects into its owning object. That would be a really nice feature in .Net Memory Profiler aswell.

Please watch the video to get a better explenation.

Regards
Lars Krog-Jensen

Re: Memory folding

Posted: Mon Feb 20, 2012 7:41 pm
by Andreas Suurkuusk
As far as I understand, the folding is the same as the held instances/bytes presented in .NET Memory Profiler. This value is currently not presented in the Overview, but you can see it in the Type and Filter details. If you select the filter "All instances and allocations", you can then sort by "Max held bytes". This will give you information about the instances with the highest amount of "folded" bytes (see screenshot).
maxheldbytes.png
Max held bytes
maxheldbytes.png (58.25 KiB) Viewed 13747 times
One thing that is missing in .NET Memory Profiler is "combined held bytes", e.g. the total held bytes for all instances of a specific type. Since held instances will overlap, it's not possible to just sum the held bytes values, it must be calculated for all involved instances at once. This is something that will be included in the next version.

For more information about held instances/bytes, see the online documentation.

Re: Memory folding

Posted: Thu Dec 13, 2012 11:40 am
by marry9091
Nice post ... thanks 4 this informative post .... keep it up