Skip to content

Tools and notes for C#/.NET optimization. Whether it's size or speed.

Notifications You must be signed in to change notification settings

nikouu/Optimization-Tools-And-Notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 

Repository files navigation

Optimization Tools And Notes

Tools and notes for C#/.NET optimization. Whether it's size or speed.

This is different from my dotnet-optimization-cheatsheet repo as that is mostly code tricks for performance, and this is mostly tools to help understand and make performance better.

Want to see how Microsoft does it? Check out their documentation for profiling dotnet/runtime.

Visual Studio Profiler

Built-in code profiler for Visual Studio

Official Docs

Reducing Compute Costs Docs

ILSpy

.NET Decompiler

GitHub Repo

Sizoscope

.NET tool to analyze size of Native AOT binaries

GitHub Repo

SharpLab

.NET language playground. See decompiled code on the fly in-browser

SharpLab.io

BenchmarkDotNet

Powerful .NET library for benchmarking

Official Site

GitHub Repo

Source browser for .NET

While not an optimization tool, it's useful and easy to navigate the .NET repo - easier than GitHub.

.NET Source Browser

DependencyGraphViewer

See what methods are kept after AOT trimming

GitHub Repo

DUMPBIN

See what is inside a DLL (or other binary files)

dumpbin /EXPORTS C:\Windows\System32\msvcr120.dll > C:\Temp\dump.txt

Official Docs

Ildasm

Old school ILSpy

ildasm binary.dll
// or
ildasm binary.exe

Official Docs

Disasmo

Visual Studio extension to disassemble methods or classes. Similar to IlLSpy but in Visual Studio.

Visual Studio Marketplace

Disasmo GitHub

ObjectLayoutInspector

Getting an instance layout at runtime

ObjectLayoutInspector GitHub

Clr Heap Allocation Analyzer

Detects explicit and implicit allocations, boxings, closures, etc

Visual Studio Marketplace

GummyCat

GC Memory Visualiser

Announcement Tweet via Kevin Gosse

Blog post via Kevin Gosse

DotNet Performance Lab Results

The results of dotnet/performance runs to check for regressions: Lab Reports

Highly performant repos

About

Tools and notes for C#/.NET optimization. Whether it's size or speed.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published