старший разработчик в команде ReSharper
JetBrains
Помимо больших коммерческих .NET приложений участвовал в разработке некоторых open source проектов: Workflow Server ORM, NDjango, Bistro MVC, Knowledge.NET. C 2010 года работает в JetBrains. Увлекается игрой в Ultimate Frisbee.
Resharper изнутри: многопоточность, структуры данных, memory traffic
ReSharper — это одно из самых больших и сложных приложений в мире .Net.
Предоставляя нашим пользователям огромную функциональность, нам приходится решать такие сложные задачи, как:
- оптимизация динамического выделения памяти (“memory traffic”)
- синхронизация потоков с учётом отзывчивости пользовательского интерфейса
- оптимизация кэшей
В этом докладе мы бы хотели рассказать как мы решаем эти и другие проблемы, свойственные многим другим сложным .NET программам. Вы узнаете о:
- нашем опыте работы с NoSql базами данных
- инструментах производительности (DotTrace, DotMemory, Windbg, DotPeek, .Net Memory Profiler, …)
- ошибках связанных с выделением ненужной памяти
- нетривиальных случаях выделения памяти
- ошибках синхронизации
- тонкостях работы с COM
- очень нетривиальных структурах данных
и многом другом.