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

Зал 1 | День 2 | 15:15 | RU | Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

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


Андрей Акиньшин

Андрей Акиньшин andrey_akinshin

JetBrains

Andrey Akinshin is a senior developer at JetBrains, where he works on Rider (a cross-platform .NET IDE based on the IntelliJ platform and ReSharper). His favorite topics are performance and micro-optimizations, and he is the maintainer of BenchmarkDotNet (a powerful .NET library for benchmarking supported by the .NET Foundation). Andrey is also a PhD in computer science, a Microsoft .NET MVP, a silver medalist of ACM ICPC. In his free time, he likes to study science (his primary research interests are mathematical biology and bifurcation theory).


Все доклады