Code Monkey home page Code Monkey logo

awesome-dot-net-performance's Introduction

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

awesome-dot-net-performance's People

Contributors

adamsitnik avatar alexandrnikitin avatar alexvaluyskiy avatar alhardy avatar amoerie avatar andreyakinshin avatar anthonylloyd avatar bartdebever avatar dadhi avatar deinman avatar fbaptista avatar gbalykov avatar guigiovine avatar jackmott avatar jodydonetti avatar jzabroski avatar khellang avatar kkokosa avatar lukasz-pyrzyk avatar marcorossignoli avatar matthiasweiser avatar milton-l avatar rikace avatar robertlyson avatar rwinte avatar soraxoriginali avatar spekulatius avatar sporty81 avatar unchase avatar weihanli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-dot-net-performance's Issues

Prefix is a general light weight profiler.

it is not limited to asp.net. Supports php, node, Java, go, ruby, etc... as well. Current beta release of v4 is windows and macOS as well.

And while I may be biased, I think it's awesome.

Biased because I'm one of the primary devs on it.

[Suggestion] : Add these performance libraries

Hi Adam, this is my suggested libraries.

Could use a "blog/article series" section

This is a great list, but there's little on here you can read for free, and it's a lot to navigate through all of the blogs. Some key sequences of articles or blog posts would be useful.

Further free YouTube resources

There are few recent talks done by Jetbrains, NDC Conferences and Microsoft about .NET performance in recent versions. I can add them over a PR if its helpful :)

Recommendations for a beginners course

If you were to design a course for beginners which resources would you recommend starting with and in which order?

(What is the fastest way to get devs up to speed with performance concepts?)

Add a Load Testing section to Performance Tools with a listing for NBomber

I utilize load testing for determining performance of systems and NBomber has been an incredible tool I discovered recently. A load testing section would expand the range of listed tools to perform benchmarks at the micro level up to full integrations. All in the pursuit of awesome performance naturally :)

Mark resources as task list

Hi Adam,

awesome repository, been looking for such for quite a while.
I have one proposal however, do you think it would be better to mark resources as task list rather than just list? I imagine it will be easier for people to fork the repository and track their progress (like myself).
Let me know what do you think.

Regards,
kuskmen

Jmeter .net DSL

Hello, I am wondering if this new open source tool can be added to this list:
https://abstracta.github.io/jmeter-dotnet-dsl/

I think it is a valuable contribution for .net developers looking to load test their apps using code / dsl instead of GUI-based tools.

What do you think? If you want I am happy to create a PR.

Resources on using Stackify Prefix?

I found it interesting that Prefix is listed here.

We use Stackify at work for APM+, and while it is good for application monitoring, I must confess I have never used it successfully for profiling. I tried, but the whole "edit this config file to configure which types you want to trace in detail" was very unsuccessful for me.

Traditionally, I have used:

  • https://memprofiler.com/ - .NET Memory Profiler for debugging WPF memory leaks, plus some tips and tricks I learned from Dr. WPF
  • RedGate ANTS Profiler - I love using their memory tree to find where a dangling reference isn't getting cleared up. Combined with Reflector it lets me see exactly why a third party lib is causing my application to leak memory, and I can submit bug reports to the third party saying "fix this line!"
  • JMeter for load testing to discover interactions not typically visible in a basic benchmark, such as IIS AppPool restarts due to running out of memory, which will coincide with responses/second dropping sharply indicating some major loading or garbage collection task is running

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.