C# 10 Performance Playbook

https://www.pluralsight.com/courses/c-sharp-10-performance-playbook

by Chris Behrens

Mod 1: Course Overview

  1. Course Overview
Mod 2: Understanding the Role of Performance

  1. Introduction
  2. Optimizing for the Developer
  3. Premature Optimization and Goldplating
    • All optimization is premature optimization unless it's just-in-time
  4. Introducing BenchmarkDotNet
    • .NET library for benchmarking
  5. Demo: Using BenchmarkDotNet
    • you need to add a console app and add an attribute
    • Run your benchmarks in Release mode, however you do them
  6. Summary
Mod 3: Optimizing C# Code Line-by-line: Part 1
  1. Introduction
  2. Demo: Build Strings Effectively
    • explains why StringBuilder is needed and how it works internally
      • instead of sb.Append(" "), do sb.Append(' '), it is more performant
  3. Demo: Picking Strings Apart
    • uses ReadOnlySpan
  4. Demo: String Comparison
    • there is no one best way to compare string in c#, when taking into consideration length of string and care insensitivity 
  5. Demo: For Loops and Foreach
  6. Demo: Classes, Structs, and Records
    • explains when to use a Struct over a Class
    • Mutability comes with a price
      • - working with readonly data is almost always faster 
Mod 4: Optimizing C# Code Line-by-line: Part 2
  1. Demo: Direct Assignment
  2. Demo: Permissions and Keeping Exceptions Exceptional
  3. Demo: Using Performance Unit Tests
    • you can use benchmarkdotnet in a unit test
  4. Demo: Choosing Data Types Wisely
    • take care when using Decimal
  5. Demo: The Date Type
  6. Wrap-up
Mod 5: Understanding How Things Work to Improve Performance
  1. Introduction
  2. Intermediate Language Code
  3. Demo: Look at the IL
    • demo of ildasm command line utility
  4. Databases and Indexing
  5. Demo: A SQL Server Query
  6. Demo: The Profile Tools
  7. Demo: Understand LINQ Query Execution Location
  8. What Debug vs. Release Really Means
    • benchmarks in debug configuration are pretty much useless.
  9. Wrap-up
Mod 6: Architecture for Speed
  1. Introduction
  2. Time-shifting
  3. Planetary Scale Architecture
  4. Course Wrap-up

Comments

Popular posts from this blog

Angular Routing and Navigation Playbook

Working with Files in C# 10

Mastering Git