Learn everything you need to know about performance-oriented programming for the .NET Framework
About This Book
- Understand the term "performance" and its significance in designing applications
- Dive deep into the internals of CLR, from memory management to the thread lifecycle
- A step-by-step guide with a special focus on designing performance-oriented solutions to handle large datasets
Who This Book Is For
If you are a .NET developer with an understanding of application development, but want to learn how to optimize the performance of your applications, this is the book for you. Basic knowledge of C# is expected.
What You Will Learn
- Understand the significance of high performance in applications
- Identify different performance concerns for all the mainly used architectures and designs
- Acquaint yourself with the commonly used MVC and MVVM patterns
- Understand the fundamentals of CLR
- Learn more about Task Parallel Library and concepts such as Thread Pool Tuning and parameter injection
- Use PLINQ programming to achieve parallelism
- Design Big Data solutions for handling datasets optimally
- Choose high-performance querying strategies to retrieve and manipulate data
- Execute tests on applications for performance analysis
This book will help you understand what "programming for performance" means, and use effective coding patterns and techniques to optimize your .NET applications. You will begin by understanding what "high performance coding" means, and the different performance concerns. You will see how CLR works and get an understanding of concepts such as memory management, garbage collection, and thread life cycles. You will proceed to learn about the theoretical and practical concepts of PLINQ programming. You will also see what Big Data is, and how to architect a Big Data solution to manipulate large datasets. Finally, you will learn how to launch and analyze a profile session and execute tests against a code block or application for performance analysis.
By the end of this book, you will have a complete understanding of efficient programming using high-performance techniques, and will able to write highly optimized applications.