Book Image

C# 7 and .NET Core 2.0 High Performance

By : Ovais Mehboob Ahmed Khan
Book Image

C# 7 and .NET Core 2.0 High Performance

By: Ovais Mehboob Ahmed Khan

Overview of this book

While writing an application, performance is paramount. Performance tuning for realworld applications often involves activities geared toward fnding bottlenecks; however, this cannot solve the dreaded problem of slower code. If you want to improve the speed of your code and optimize an application's performance, then this book is for you. C# 7 and .NET Core 2.0 High Performance begins with an introduction to the new features of what?explaining how they help in improving an application's performance. Learn to identify the bottlenecks in writing programs and highlight common performance pitfalls, and learn strategies to detect and resolve these issues early. You will explore multithreading and asynchronous programming with .NET Core and learn the importance and effcient use of data structures. This is followed with memory management techniques and design guidelines to increase an application’s performance. Gradually, the book will show you the importance of microservices architecture for building highly performant applications and implementing resiliency and security in .NET Core. After reading this book, you will learn how to structure and build scalable, optimized, and robust applications in C#7 and .NET.
Table of Contents (11 chapters)
5
Designing Guidelines for .NET Core Application Performance

Preface

The book begins with an introduction to the new features of C# 7 and .NET Core 2.0, and how they help improve the performance of your application. The book will then help you understand the core internals of .NET Core, which includes the compilation process, garbage collection, utilizing multiple cores of the CPU to develop highly-performant applications, and measuring performance using a powerful library for benchmarking applications named BenchmarkDotNet. We will learn about developing applications and programs using multithreading and asynchronous programming, and how to use those concepts to build efficient applications for faster execution. Next, you'll understand the importance of data structure optimization and how it can be used efficiently. We move on to the patterns and best practices to use when designing applications in .NET Core, along with how to utilize memory in an effective way and avoid memory leakage. After that, we'll talk about implementing security and resiliency in .NET Core applications, and we'll use the Polly framework to implement a circuit breaker, and retry and fallback patterns, along with certain middleware to harden the HTTP pipeline. We'll also implement security such as authorization and authentication using the Identity framework. Moving ahead, we will learn about the microservices architecture and see how we can use it to create applications that are modular, highly scalable, and independently deployable. We end with App Metrics, and will learn how to use it to monitor the performance of your application.