/awesome-dot-net-performance

A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors. Inspired by awesome-... stuff.

MIT LicenseMIT

Awesome .NET Performance

A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors. Inspired by awesome-... stuff.

Books

Video Courses

On-Site Trainings

Upcoming conferences

Conference talks

Sorted from newest to oldest:

Blogs

Inspiring Open Source Contributors

Performance tools

Benchmarking

  • BenchmarkDotNet - Powerful .NET library for benchmarking.
  • NBench - Cross-platform performance benchmarking and testing framework for .NET applications.
  • CsCheck Faster - Random data range, multithreaded, cross-platform/machine, unit testing integrated, relative performance testing.

Profiling

  • Prefix - Free lightweight profiler for ASP.NET apps shows everything your code is doing across 30+ common libraries
  • MiniProfiler - Free profiling tool for .NET applications with Entity Framework and ASP.Net integration (Core supported for both versions)
  • dotTrace - Paid profiler for .NET applications from the JetBrains team, included in the Resharper Ultimate package
  • Unchase.FluentPerformanceMeter - Free open-source and cross-platform .Net Standard 2.0 library that is designed for the method’s performance measurement
  • codetrack - Free .NET performance profiler and execution analyzer

Application Insights

  • App Metrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health. See the docs for more details.

Analyzers

  • Clr Heap Allocation Analyzer Clr Heap Allocation Analyzer is a Roslyn based Diagnostic Analyzer that is able to detect most allocations in code in the local method and bring them to your attention in Visual Studio.

Load Testing

  • NBomber A lightweight framework for writing load tests to use on any PULL or PUSH system (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis etc). Dynamic CLI output, report generation, and trend analysis. Written in F# and targeting .NET Core and full .NET Framework.
  • JMeter DLS A simple API for JMeter that enables using you IDE to design and run test using .NET.

Article series

Benchmarking

Monitoring

Investigations

Debugging performances series by Tess Ferrandez

JIT Optimizations

Refs

Threading

Memory

.NET CPU Intrinsics

Performance Improvements in .NET Core

ARM64