#95 Ben Watson, High Performance .NET

Summary
Ben Watson, software engineer at Microsoft working on Bing and author of Writing High Performance .NET Code talks to me about his book and how to improve your code.

Details
Who he is, what he does, working on Bing lead to the book, Bing is probably the biggest C# app in the world. Why worry about performance, pay for play, serverless; sometimes more machines are the best solution. Where to start with the CLR, the garbage collector, JIT, be careful of enum flags. More on GC, using generations to improve efficiency, aim for very short lived or very long-lived memory, memory efficiency is as important as CPU efficiency. What about the network, async await all the way down, Ben likes TPL, "immutability is key". LINQ hides allocations, closures delegates. Be careful with Func and Actions, delegates cause allocations. Spans. Concurrent collections. Just in Time, small methods compile faster, Bing loads thousands of dlls. Readability and maintainability vs performance. for vs foreach.

Links
Ben's homepage

Ben's book

Download mp3 of podcast

#63 Jimmy Bogard, AutoMapper

Summary
Jimmy Bogard talks about AutoMapper, why and how he built, and recent performance improvements.

Details
Who he is, what he does; how AutoMapper started, what it is; projections, what that are, how they work, expression trees; early mistakes, inspired by StructureMap, performance problems, difficulties with projections, rewrite, how Jimmy uses AutoMapper vs how other people use it, learning from other mappers, improving performance, expression trees are hard to debug; upcoming conferences.

Links
Jimmy's blog

NDC { London }

├średev

Download mp3 of podcast