Enhance your applications' performance using best practices for benchmarking, application profiling, asynchronous programming, designing responsive UIs, gRPC communication, and distributed applications
Key Features:
- Make the best use of performance enhancements in C# 10.0 and .NET 6
- Boost application performance by identifying hardware bottlenecks and common performance pitfalls
- Get to grips with best practices and techniques for improving the scalability of distributed systems
Book Description:
Writing high-performance code while building an application is crucial, and over the years, Microsoft has focused on delivering various performance-related improvements within the .NET ecosystem. This book will help you understand the aspects involved in designing responsive, resilient, and high-performance applications with the new version of C# and .NET.
You will start by understanding the foundation of high-performance code and the latest performance-related improvements in C# 10.0 and .NET 6. Next, you'll learn how to use tracing and diagnostics to track down performance issues and the cause of memory leaks. The chapters that follow then show you how to enhance the performance of your networked applications and various ways to improve directory tasks, file tasks, and more. Later, you'll go on to improve data querying performance and write responsive user interfaces. You'll also discover how you can use cloud providers such as Microsoft Azure to build scalable distributed solutions. Finally, you'll explore various ways to process code synchronously, asynchronously, and in parallel to reduce the time it takes to process a series of tasks.
By the end of this C# programming book, you'll have the confidence you need to build highly resilient, high-performance applications that meet your customer's demands.
What You Will Learn:
- Use correct types and collections to enhance application performance
- Profile, benchmark, and identify performance issues with the codebase
- Explore how to best perform queries on LINQ to improve an application's performance
- Effectively utilize a number of CPUs and cores through asynchronous programming
- Build responsive user interfaces with WinForms, WPF, MAUI, and WinUI
- Benchmark ADO.NET, Entity Framework Core, and Dapper for data access
- Implement CQRS and event sourcing and build and deploy microservices
Who this book is for:
This book is for software engineers, professional software developers, performance engineers, and application profilers looking to improve the speed of their code or take their skills to the next level to gain a competitive advantage. You should be a proficient C# programmer who can already put the language to good use and is also comfortable using Microsoft Visual Studio 2022
Table of Contents
- Introducing C# 10.0 and .NET 6
- Implementing C# Interoperability
- Predefined Data Types and Memory Allocations
- Memory Management
- Application Profiling and Tracing
- The .NET Collections
- LINQ Performance
- File and Stream I/O
- Enhancing the Performance of Networked Applications
- Setting Up Our Database Project
- Benchmarking Relational Data Access Frameworks
- Responsive User Interfaces
- Distributed Systems
- Multi-Threaded Programming
- Parallel Programming
- Asynchronous Programming