Making .NET Applications Faster
https://www.pluralsight.com/courses/making-dotnet-applications-faster
by Sasha Goldshtein
Mod 1: Implementing Value Types Correctly
- Introduction
- Why Value Types?
- Correct Value Type Implementation
- value types inherit from System.ValueType
- Demo: Measuring Value Type Performance
- GetHashCode
Mod 2: Applying Precompilation
- Introduction
- NGen and Assembly Loading
- NGen precompiles .NET assemblies to native code
- > ngen install MyApp.exe
- Demo: NGen
- RyuJlT and MPGO
- Demo: RyuJlT
- shows how to set an environment variable
- > set COMPLUS_AltJit=*
- Reducing 1/0 Costs
- Demo: ILMerge
- Precompiling Regular Expressions
- Demo: Optimizing Regex with Precompilation
- Summary
Mod 3: Using Unsafe Code and Pointers
- Pointers in C#
- Demo: memcpy
- Reading Structures
- Demo: Reading Structures
- Summary
Mod 4: Choosing a Collection
- Introduction
- Built-in Collections (1)
- Built-in Collections (2)
- Comparing Built-in Collections
- if you want to determine the word frequency in a large body of text, Dictionary would be the best collection to use
- Demo: Comparing Built-in Collections
- Custom Collections (1)
- Custom Collections (2)
- Demo: Custom Collections
- Summary
Mod 5: Make Your Code as Parallel as Necessary, but Not More
- Introduction
- Applying Data Parallelism
- Demo: Data Parallelism
- Asynchronous 1/0 and 1/0 Parallelism
- using WhenAny with a loop
- use it for setting off a pile of tasks and then processing each of them as they become ready
- Demo: 1/0 Parallelism
- Getting Rid of Locks
- Demo: Aggregation
- Summary
Comments
Post a Comment