Is your application or service running slow? Are they gobbling up too much memory? Do you have to reboot servers or services every once in a while, and you have no idea why? Well, I know exactly why! I have reviewed millions of lines of code from Microsoft .NET projects and hands down, the number one issue is not handling disposable types correctly.
Microsoft .NET has been around for 20 years and one thing that is very critical for every developer to know is exactly how memory management works in the runtime. If you don’t, you will cause performance issues but more serious is causing virtual memory leaks. The way that .NET was designed back in the late ’90s is that it does not have memory leaks in the true sense, but it can create virtual memory leaks.
In this session, I will show examples and metrics from a real-world in-production solution. If developers do not deal with these types when the code is first written, it will be very, very expensive and time-consuming to fix later down the road (if they even get fixed). The main topics covered in this session are properly disposing of objects, and how to properly implement the IDisposable interface for types that you create, and I will finish up by showing tools that can help you find these issues so you too can be a Code Shark!