Exploring memory in .NET applications
Jesteśmy Forte Digital (https://fortedigital.no/en) i już wkrótce otwieramy nasze biuro w Katowicach. W związku z tym, że .NET jest nam bliski oraz tym, że zależy nam, by ludzie pracujący na Śląsku nas poznali, postanowiliśmy zorganizować warsztaty, które poprowadzi zaprzyjaźniony z nami Adam Furmanek.
Opis warsztatów:
Exploring memory in .NET applications
.NET provides a safe type system that saves us from most memory problems we had in native applications. However, it still exposes API to manipulate the memory directly which we can use to increase performance in some scenarios where speed is critical. In this workshop, we will understand memory structure and what can be done beyond reference and value types. We will see how to allocate reference type on the stack, how to implement a list faster than the provided List of T, how to serialize objects by reading their bytes directly, or how to hide them from GC.
Objectives:
- Understanding of Windows and x86 CPU architecture, how they work together, and how they are used by the .NET platform.
- Understanding .NET memory structures
- Manual memory management
- Hiding objects from GC
Requirements:
- Windows 10 running on x86_64 architecture
- Visual Studio 2019
- .NET 6
- .NET Framework 4.8
- dnSpy
- WinDBG + configured symbols + configured - SOS for all .NET environments
- git