Hi all! I am thrilled to announce that after more than two years of intensive book writing, it is finally available for preorder! Its about 800 pages are solely dedicated to the topic of .NET memory management and its Garbage Collector. With many, many internal workings of all this. I believe, personally, that there is currently no single book or even finite set of articles online that give so comprehensive insight into this topic.
As a person who sincerely loves .NET and related performance topics – and spent quite a lot of time diagnosing various .NET memory-related issues – I’ve just needed to write such book. And as it covers all recent changes in .NET Core 2.1 (including Span, Memory or pipelines), I believe there is no better time to publish such book!
Let me give you an excerpt from the introduction of the book, which should explain my intentions when writing it:
This book is written in a way that will let you sense this very interesting topic, not only showing “here is a .NET Garbage Collector and it does this and that”. Providing information not only what, but also how, and more importantly – why – should truly help you understand what is behind the scene of .NET memory management. Hence, everything you will read in regard to this topic in the future should be more understandable to you. I try to enlighten you with the knowledge a little more general than just related to .NET, especially in the first two chapters. This leads to deeper understanding of the topic, which quite often may be also applied to other software engineering tasks (thanks to understanding of algorithms, data structures and simply good engineering stuff).
I wanted to write this book in a manner pleasant for every .NET developer. No matter how experienced you are, you should find something interesting here. While we start from the basics, junior programmers quickly will have an opportunity to get deeper into .NET internals. More advanced programmers will find many implementation details more interesting. And above all, regardless of experience, everyone should be able to benefit from the presented practical examples of code and problem diagnosis.
I hope all this makes this book more general and long-lasting than just simple description of the current state of the .NET framework and its internals. No matter how future .NET frameworks will evolve, I believe most of the knowledge in this book will be actual for a long time. Even if some implementation details will change, you should be able to easily understand them because of the knowledge from this book. Just because underlying principia won’t change so fast. I wish you a pleasant journey through the huge and entertaining topic of the automatic memory management!
You can find more information, including Table of Contents on a dedicated landing page:
https://prodotnetmemory.com
Additionally, there are two bonuses available there:
- a free .NET GC FAQ e-book preorder if you preorder my book from this site
- a free to download poster in high-res about .NET memory organization:
All this is super exciting and what is the most important – I hope you will really like it and find it really useful!
I don’t see it in your ToC, but just in case: do you have anything in your book about memory/GC considerations on UWP apps (winrt, C#/C++ boundaries, heavy xaml code…)?
Great! Can’t wait release!
It’s a great resource. However, I need to learn p/invoke. Would you know a good resource to learn it?
Thanks.
It is quite old but one of the best I ever read was https://www.amazon.com/NET-2-0-Interoperability-Recipes-Problem-Solution/dp/1590596692. However, some things are outdated there so additional search over Internet would be required.