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:
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.