In version 4.0 of the .NET Framework, Microsoft added a new class to the System.Runtime.CompilerServices namespace: ConditionalWeakTable<TKey, TValue>. On the surface, this looks like a straightforward dictionary class – it allows you to look up instances ofTValue by instances of TKey. But we’ve already got Dictionary<TKey, TValue>, so what’s special about this new type? Static … Read more
In the previous post, I looked at tracking down and fixing a memory leak in ANTS Performance Profiler; .NET memory usage gradually increased over time when different regions of the timeline are selected while the “Database Calls” view is open. When I left off, I’d found one problem – a dictionary mapping UI components to … Read more
During the final stages of testing for a recent release, a member of our team noticed that memory usage in ANTS Performance Profiler increased over time as they selected different parts of the timeline when the “Database calls” view was open: each time they selected a different region, memory usage rose by a few tens … Read more