Writing High-Performance .NET Code, 2nd Edition

Author: Ben Watson

Publisher: Ben Watson

ISBN: 099058349X

Category: Computers

Page: 525

View: 8085

DOWNLOAD NOW »

Take performance to the next level!

This book does not just teach you how the CLR works---it teaches you exactly what you need to do now to obtain the best performance today. It will expertly guide you through the nuts and bolts of extreme performance optimization in .NET, complete with in-depth examinations of CLR functionality, free tool recommendations and tutorials, useful anecdotes, and step-by-step guides to measure and improve performance.

This second edition incorporates the advances and improvements in .NET over the last few years, as well as greatly expanded coverage of tools, more topics, more tutorials, more tips, and improvements throughout the entire book.

New in the 2nd Edition:

  • 50% increase in content!
  • New examples, code samples, and diagrams throughout entire book
  • More ways to analyze the heap and find memory problems
  • More tool coverage, including expanded usage of Visual Studio
  • More benchmarking
  • New GC configuration options
  • Code warmup techniques
  • New .NET features such as ref-returns, value tuples, SIMD, and more
  • More detailed analysis of LINQ
  • Tips for high-level feature areas such as ASP.NET, ADO.NET, and WPF

Also find expanded coverage and discover new tips and tricks for:

  • Profiling with multiple tools to quickly find problem areas
  • Detailed description of the garbage collector, how to optimize your code for it, and how to diagnose difficult memory-related issues
  • How to analyze JIT and diagnose warmup problems
  • Effective use of the Task Parallel Library to maximize throughput
  • Which .NET features and APIs to use and which to avoid
  • Instrument your program with performance counters and ETW events
  • Use the latest and greatest .NET features
  • Build a performance-minded team
  • ...and so much more
Release

Writing High-Performance .Net Code

Author: Ben Watson

Publisher: N.A

ISBN: 9780990583455

Category: Application software

Page: 526

View: 3057

DOWNLOAD NOW »

Take performance to the next level! This book does not just teach you how the CLR works---it teaches you exactly what you need to do now to obtain the best performance today. It will expertly guide you through the nuts and bolts of extreme performance optimization in .NET, complete with in-depth examinations of CLR functionality, free tool recommendations and tutorials, useful anecdotes, and step-by-step guides to measure and improve performance. This second edition incorporates the advances and improvements in .NET over the last few years, as well as greatly expanded coverage of tools, more topics, more tutorials, more tips, and improvements throughout the entire book. New in the 2nd Edition: 50% increase in content! New examples, code samples, and diagrams throughout entire book More ways to analyze the heap and find memory problems More tool coverage, including expanded usage of Visual Studio More benchmarking New GC configuration options Code warmup techniques New .NET features such as ref-returns, value tuples, SIMD, and more More detailed analysis of LINQ Tips for high-level feature areas such as ASP.NET, ADO.NET, and WPF Also find expanded coverage and discover new tips and tricks for: Profiling with multiple tools to quickly find problem areas Detailed description of the garbage collector, how to optimize your code for it, and how to diagnose difficult memory-related issues How to analyze JIT and diagnose warmup problems Effective use of the Task Parallel Library to maximize throughput Which .NET features and APIs to use and which to avoid Instrument your program with performance counters and ETW events Use the latest and greatest .NET features Build a performance-minded team ...and so much more
Release

Pro .NET Memory Management

For Better Code, Performance, and Scalability

Author: Konrad Kokosa

Publisher: Apress

ISBN: 1484240278

Category: Computers

Page: 1072

View: 6622

DOWNLOAD NOW »

Understand .NET memory management internal workings, pitfalls, and techniques in order to effectively avoid a wide range of performance and scalability problems in your software. Despite automatic memory management in .NET, there are many advantages to be found in understanding how .NET memory works and how you can best write software that interacts with it efficiently and effectively. Pro .NET Memory Management is your comprehensive guide to writing better software by understanding and working with memory management in .NET. Thoroughly vetted by the .NET Team at Microsoft, this book contains 25 valuable troubleshooting scenarios designed to help diagnose challenging memory problems. Readers will also benefit from a multitude of .NET memory management “rules” to live by that introduce methods for writing memory-aware code and the means for avoiding common, destructive pitfalls. What You'll Learn Understand the theoretical underpinnings of automatic memory management Take a deep dive into every aspect of .NET memory management, including detailed coverage of garbage collection (GC) implementation, that would otherwise take years of experience to acquire Get practical advice on how this knowledge can be applied in real-world software development Use practical knowledge of tools related to .NET memory management to diagnose various memory-related issues Explore various aspects of advanced memory management, including use of Span and Memory types Who This Book Is For .NET developers, solution architects, and performance engineers
Release

C# 7 and .NET Core 2.0 High Performance

Build highly performant, multi-threaded, and concurrent applications using C# 7 and .NET Core 2.0

Author: Ovais Mehboob Ahmed Khan

Publisher: Packt Publishing Ltd

ISBN: 1788474600

Category: Computers

Page: 300

View: 4713

DOWNLOAD NOW »

Improve the speed of your code and optimize the performance of your apps Key Features Understand the common performance pitfalls and improve your application’s performance Get to grips with multi-threaded and asynchronous programming in C# Develop highly performant applications on .NET Core using microservice architecture Book Description 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. What you will learn Measure application performance using BenchmarkDotNet Explore the techniques to write multithreaded applications Leverage TPL and PLinq libraries to perform asynchronous operations Get familiar with data structures to write optimized code Understand design techniques to increase your application’s performance Learn about memory management techniques in .NET Core Develop a containerized application based on microservices architecture Learn tools and techniques to monitor application performance Who this book is for This book is for .NET developers looking at improving the speed of their code or simply wanting to take their skills to the next level. Basic C# knowledge is assumed.
Release

Expert .NET 1.1 Programming

Author: Simon Robinson

Publisher: Apress

ISBN: 1590592220

Category: Computers

Page: 656

View: 3830

DOWNLOAD NOW »

This is a book about getting the best out of .NET. It’s based on the philosophy that the best approach to writing good, high-performance, robust applications that take full advantage of the features of .NET is to understand whats going on deep under the hood. If you are already experienced with writing managed applications and want to learn more about how to get the best from the CLR at an advanced level, then this is the book for you. Topics covered include intermediate language, performance, profiling, security, advanced Windows Forms, threading, and systems management using Windows Management Instrumentation (WMI). This book has been reviewed by developers at Microsoft, who have provided invaluable information about the CLR. The information contained in this book, which in many cases goes far beyond the available documentation, will enable you to write better, more robust, more responsive, better performing and, in some cases, more sophisticated applications. Expert .NET Programming originally appeared under the title Advanced .NET. The response from many readers was extremely enthusiastic, prompting us to release a second edition under the new title. This edition has been fully updated for .NET 1.1, and many of the explanations have been revised.
Release

Learning .NET High-performance Programming

Author: Antonio Esposito

Publisher: Packt Publishing Ltd

ISBN: 1785282638

Category: Computers

Page: 304

View: 1988

DOWNLOAD NOW »

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.
Release

TypeScript High Performance

Author: Ajinkya Kher

Publisher: Packt Publishing Ltd

ISBN: 1782174389

Category: Computers

Page: 230

View: 1515

DOWNLOAD NOW »

Get lightning speed performance by writing highly efficient code in TypeScript About This Book Efficiently use Data Structures, Language Constructs, & Handle Asynchrony Monitor the performance, Code Quality, & Resource Optimizations Build & Deploy Strategies for Large Scale TypeScript Projects Who This Book Is For This book is for people who have basic knowledge of TypeScript. Experience using JavaScript and familiarity with front end development are the prerequisites. What You Will Learn Learn about the critical rendering path, and the performance metrics involved along the same Explore the detailed inner intricacies of a web browser Build a large scale front end applications and learn the thought process behind architecting such an effort Understand the challenges of scalability and how TypeScript renders itself to the cause Learn efficient usage of TypeScript constructs to deliver high performance and avoid common mistakes and pitfalls that can hamper performance Monitor performance, resolve and detect performance bottlenecks in production, and learn the tools involved In Detail In a world where a tiny decrease in frames per second impacts customer engagement greatly, writing highly scalable code is more of a necessity than a luxury. Using TypeScript you get type checking during development. This gives you the power to write optimized code quickly. This book is also a solid tool to those who're curious to understand the impact of performance in production, and it is of the greatest aid to the proactive developers who like to be cognizant of and avoid the classic pitfalls while coding. The book will starts with explaining the efficient implementation of basic data Structures, data types, and flow control. You will then learn efficient use of advanced language constructs and asynchronous programming. Further, you'll learn different configurations available with TSLint to improve code quality and performance. Next, we'll introduce you to the concepts of profiling and then we deep dive into profiling JS with several tools such as firebug, chrome, fiddler. Finally, you'll learn techniques to build and deploy real world large scale TypeScript applications. Style and approach This book will be a step by step easy to follow guide with focused examples to increase performance of applications and provide optimization techniques.
Release

ASP.NET Core 1.0 High Performance

Author: James Singleton

Publisher: Packt Publishing Ltd

ISBN: 1785880829

Category: Computers

Page: 292

View: 8562

DOWNLOAD NOW »

Create fast, scalable, and high performance applications with C#, ASP.NET Core 1.0, and MVC 6 About This Book Learn the importance of measuring, profiling, and locating the most impactful problems Discover the common areas you might encounter performance problems and areas you don't need to worry about Understand the differences between development workstations and production infrastructure and how these can amplify problems Design workflows that run asynchronously and are resilient to transient performance issues Who This Book Is For This book is for ASP.NET and C# developers who have experience with the MVC framework for web application development and are looking to deploy applications that will perform well in live production environments. These could be virtual machines or hosted by a cloud service provider such as AWS or Azure. What You Will Learn Why performance matters and when it should be considered Use different tools to measure performance Spot common performance issues, their root causes, and how to easily mitigate them Improve performance at the network level and I/O level, and how to optimize the application as a whole Work with caching and message queuing tools, including patterns and strategies Discover the dark side of performance improvement and find out how to manage complexity Monitor performance as part of continuous integration and regression testing Assess and solve performance issues with other advanced technologies In Detail ASP.NET Core is the new, open source, and cross-platform, web-application framework from Microsoft. It's a stripped down version of ASP.NET that's lightweight and fast. This book will show you how to make your web apps deliver high performance when using it. We'll address many performance improvement techniques from both a general web standpoint and from a C#, ASP.NET Core, and .NET Core perspective. This includes delving into the latest frameworks and demonstrating software design patterns that improve performance. We will highlight common performance pitfalls, which can often occur unnoticed on developer workstations, along with strategies to detect and resolve these issues early. By understanding and addressing challenges upfront, you can avoid nasty surprises when it comes to deployment time. We will introduce performance improvements along with the trade-offs that they entail. We will strike a balance between premature optimization and inefficient code by taking a scientific- and evidence-based approach. We'll remain pragmatic by focusing on the big problems. By reading this book, you'll learn what problems can occur when web applications are deployed at scale and know how to avoid or mitigate these issues. You'll gain experience of how to write high-performance applications without having to learn about issues the hard way. You'll see what's new in ASP.NET Core, why it's been rebuilt from the ground up, and what this means for performance. You will understand how you can now develop on and deploy to Windows, Mac OS X, and Linux using cross-platform tools, such as Visual Studio Code. Style and approach Starting with a drill down into the nuts and bolts of various performance parameters, you will get an understanding of the ASP.NET MVC 6 framework with the help of rich code-based examples that will equip you to build highly scalable and optimized applications.
Release

ASP.NET Core 2 High Performance

Learn the secrets of developing high performance web applications using C# and ASP.NET Core 2 on Windows, Mac, and Linux

Author: James Singleton

Publisher: Packt Publishing Ltd

ISBN: 1788396022

Category: Computers

Page: 348

View: 9102

DOWNLOAD NOW »

Learn how to develop web applications that deploy cross-platform and are optimized for high performance using ASP.NET Core 2 About This Book Master high-level web app performance improvement techniques using ASP.NET Core 2.0 Find the right balance between premature optimization and inefficient code Design workflows that run asynchronously and are resilient to transient performance issues Who This Book Is For This book is aimed for readers who can build a web application and have some experience with ASP.NET or some other web application framework (such as Ruby on Rails or Django). They can be people who are happy learning details independently but who struggle to discover the topics that they should be researching. The reader should be interested in improving the performance of their web app and in learning about ASP.NET Core and modern C#. What You Will Learn Understand ASP.NET Core 2 and how it differs from its predecessor Address performance issues at the early stages of development Set up development environments on Windows, Mac, and Linux Measure, profile and find the most significant problems Identify the differences between development workstations and production infrastructures, and how these can exacerbate problems Boost the performance of your application but with an eye to how it affects complexity and maintenance Explore a few cutting-edge techniques such as advanced hashing and custom transports In Detail The ASP.NET Core 2 framework is used to develop high-performance and cross-platform web applications. It is built on .NET Core 2 and includes significantly more framework APIs than version 1. This book addresses high-level performance improvement techniques. It starts by showing you how to locate and measure problems and then shows you how to solve some of the most common ones. Next, it shows you how to get started with ASP.NET Core 2 on Windows, Mac, Linux, and with Docker containers. The book illustrates what problems can occur as latency increases when deploying to a cloud infrastructure. It also shows you how to optimize C# code and choose the best data structures for the job. It covers new features in C# 6 and 7, along with parallel programming and distributed architectures. By the end of this book, you will be fixing latency issues and optimizing performance problems, but you will also know how this affects the complexity and maintenance of your application. Finally, we will explore a few highly advanced techniques for further optimization. Style and approach A step-by-step practical guide filled with real-world use cases and examples
Release

C# 7 and .NET Core Cookbook

Author: Dirk Strauss

Publisher: Packt Publishing Ltd

ISBN: 1787289206

Category: Computers

Page: 628

View: 1880

DOWNLOAD NOW »

Quick solutions to common programming problems with the latest features of C# 7.0, .NET Core 1.1, and Visual Studio 2017 About This Book Easy-to-follow recipes to get you up-and-running with the new features of C# 7 and .NET Core 1.1 Practical solutions to assist you with microservices and serverless computing in C# Explore the new Visual Studio environment and write more secure code in it Who This Book Is For The book will appeal to C# and .NET developers who have a basic familiarity with C# and the Visual Studio 2015 environment What You Will Learn Writing better and less code to achieve the same result as in previous versions of C# Working with analyzers in Visual Studio Working with files, streams, and serialization Writing high-performant code in C# and understanding multi-threading Demystifying the Rx library using Reactive extensions Exploring .Net Core 1.1 and ASP.NET MVC Securing your applications and learning new debugging techniques Designing and building a microservice architecture Using Azure and AWS for serverless computing with C# In Detail C# has recently been open-sourced and C# 7 comes with a host of new features for building powerful, cross-platform applications. This book will be your solution to some common programming problems that you come across with C# and will also help you get started with .NET Core 1.1. Through a recipe-based approach, this book will help you overcome common programming challenges and get your applications ready to face the modern world. We start by running you through new features in C# 7, such as tuples, pattern matching, and so on, giving you hands-on experience with them. Moving forward, you will work with generics and the OOP features in C#. You will then move on to more advanced topics, such as reactive extensions, Regex, code analyzers, and asynchronous programming. This book will also cover new, cross-platform .NET Core 1.1 features and teach you how to utilize .NET Core on macOS. Then, we will explore microservices as well as serverless computing and how these benefit modern developers. Finally, you will learn what you can do with Visual Studio 2017 to put mobile application development across multiple platforms within the reach of any developer. Style and approach A unique recipe-based guide that will help you gain a solid understanding of the new concepts in C# 7.0 and Visual Studio 2017
Release