Senior Software Developer in ReSharper team
JetBrains
Besides huge enterprise .NET application took part in development some open sourced projects, such as: Workflow Server ORM, NDjango, Bistro MVC, Knowledge.NET. Starting from 2010 works in JetBrains. Addicted Ultimate Frisbee player.
ReSharper inside out: multithreading, data structures, memory traffic
ReSharper is one of the greatest and most complex applications in .NET world.
We are enticed into solving many interesting and sophisticated problems as a result of giving our users lots of powerful functionality.
Problems such as:
- memory traffic optimization
- threads synchronization, UI smoothness
- caches optimization
In this talk I would like to share our experience of solving these and other similar problems in many .NET applications. You will hear about:
- our experience of working with No Sql databases
- performance tools (DotTrace, DotMemory, DotTimeline, Windbg, DotPeek, ReSharper and others)
- common memory allocation mistakes
- more tricky memory allocation cases
- some synchronization patterns
- subtleties of working with COM
- non-trivial data structures
and more.