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

Зал 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

Андрей Акиньшин работает в компании JetBrains, где он трудится над проектом Rider (кроссплатформенная .NET IDE, основанная на платформе IntelliJ и ReSharper). Его любимые темы — производительность и микрооптимизации, он также мейнтейнер проекта BenchmarkDotNet (библиотека для написания .NET-бенчмарков, поддержанная .NET Foundation). Андрей — к.ф.-м.н., Microsoft .NET MVP, серебрянный медалист ACM ICPC. В свободное время любит заниматься наукой, основные научные интересы — математическая биология и теория бифуркаций.


Все доклады