When we talk about allocations, we have basically two truths: allocations are really fast — and don't allocate if you don't have to.
The practical trade-off is between writing easy allocated code, and improving it with different methods — which make it harder to write and maintain but putting less pressure to GC. We will consider allocating and deallocating memory as an overhead for some useful job we want use memory for and try to decide what are these trade offs. We will try to derive how GC works from simple performance tests to make it more practical. Yes, it is gonna be Sherlock's detective story, keep your magnifying glass ready!
YOU MAY ALSO LIKE:
- F# eXchange 2020 (Online Conference on 21st October 2020)
- Build High Performance Stream Processing and Workflows with TPL Dataflow (Online Meetup on 8th October 2020)
- Applied Domain-Driven Design — Full-Stack Event Sourcing (SkillsCast recorded in July 2020)
- What’s New in .NET Core 3.0 and .NET 5.0 for Performance and Memory-Aware Folks? (SkillsCast recorded in October 2019)
Pragmatic Memory Management
Anatoly Zhmur is working with .net from times of early beta in 2001. Now he is Senior Technical Architect doing Bitemporal NoSQL database at Broadridge. He spends a lot of time on optimizing his code to sub milliseconds latencies or multi-gigabyte per second throughputs.