Patterns for high-performance C#: from algorithm optimization to low-level techniques


In this talk we'll explore techniques and code patterns for creating a high performance code, from analysis to actual optimization. We will explain how to recognize when optimizations are needed, where the bottlenecks typically are and the code patterns that arise on database engine code optimization. Many of the techniques explored in the talk have been learned or perfected while working on RavenDB 4.0, the latest version of the leading NoSQL engine for .NET. In RavenDB, we have worked hard to optimize up to the nanosecond level all the tight code-paths, with improvements over several metrics, including memory, IO and CPU consumption. Most of the optimization patterns can be applied to high performance software regardless of the language or frameworks used.

Download presentation

Federico Lois
Federico Lois federicolois

Hibernating Rhinos

Federico is a cofounder of Corvalius, a R&D company, and of Codealike, a Developer Analytics company. He has been working on algorithmic performance for the last 10 years, both with CPU and specialized hardware like GPUs. His experience ranges from banking software performance tuning to database engine optimization. He enjoys reading in binary and tinkering with registers and caches. Among his technology interests are highly distributed systems, massively parallel technology, low-level optimization and high-performance computer graphics.

All talks