dotnext DotNext 2017 СПб (19.05.2017 — 20.05.2017)

Поговорим про память

img

Поговорим про то, что влияет на производительность доступа памяти: от хардварных штук (CPU cache и его ассоциативность, выравнивание, store forwarding, 4K aliasing, prefetching, cache/page splits, cache bank conflicts и т.п.), до .NET-специфичных проблемы (pinned objects, large object heap, особенности работы кучи в полном .NET Framework и Mono).

Во многих современных приложениях производительность упирается в память. Измерять скорость работы и писать корректные бенчмарки в таком случае не так-то просто: слишком много факторов влияют на итоговое время работы. В этом докладе мы поговорим о том, из чего складывается производительность работы с памятью. Обсудим как низкоуровневые хардварные штуки (CPU cache и его ассоциативность, выравнивание, store forwarding, 4K aliasing, prefetching, cache/page splits, cache bank conflicts и т.п.), так и более .NET-специфичные проблемы (pinned objects, large object heap, особенности работы кучи в полном .NET Framework и Mono).