Skip to content
0:00 / 0:00

#csharp#.net#ravendb

Patterns for high-performance C# - Federico Andres Lois

NDC Conferences

230K subscribers • 107 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Federico Andres Lois

Advanced. Deep dive for people who know the field.

55K views7 years ago1 recommendation

Programming languagesSystems programmingC# and .NETPerformance and optimizationDatabase internals

Federico Andres Lois explores techniques and code patterns for optimizing C# code down to the nanosecond level, drawing from experiences with RavenDB.

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. NDC Conferences ndcconferences.com/ ndcminnesota.com/

Why it's here

1 person recommends this

What people say. Recommended as a great talk on low-level C# optimization techniques and database engine performance patterns.

u/cat_in_the_wallin r/dotnet • Recommends

Patterns for high-performance C# - Federico Andres Lois

u/KallDrexxin r/dotnet • Mentions

On “Did you know that JIT has automatic branch elimination?”

If you really want your mind blown watch this NDC conference talk by an optimization dev on RavenDB: [video Essentially he heavily relies on this feature as part of generics to write re-usable code across multiple types that has minimal branching.