dotnext DotNext 2017 SPb (19.05.2017 — 20.05.2017)

Let's talk about memory

img

We will talk about the memory access performance: from hardware stuff (CPU cache and its associativity, alignment, store forwarding, 4K aliasing, prefetching, cache/page splits, cache bank conflicts, and so on) to .NET specific problems (pinned objects, the large object heap, how does the heap works in the full .NET Framework and Mono).

The bottleneck of many modern applications is the main memory. In this case, it’s very hard to measure the performance and write correct benchmarks: there are too many things which affect the execution time. In this session, we will talk about how it happens. We will discuss low-level hardware stuff (CPU cache and its associativity, alignment, store forwarding, 4K aliasing, prefetching, cache/page splits, cache bank conflicts, and so on) and .NET specific problems (pinned objects, the large object heap, how does the heap works in the full .NET Framework and Mono).