<p>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.
</p><p>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.
</p><p><b>New in the 2nd Edition:</b>
<li> 50% increase in content!
</li><li> New examples, code samples, and diagrams throughout entire book
</li><li> More ways to analyze the heap and find memory problems
</li><li> More tool coverage, including expanded usage of Visual Studio
</li><li> More benchmarking
</li><li> New GC configuration options
</li><li> Code warmup techniques
</li><li> New .NET features such as ref-returns, value tuples, SIMD, and more
</li><li> More detailed analysis of LINQ
</li><li> Tips for high-level feature areas such as ASP.NET, ADO.NET, and WPF
<p>Also find expanded coverage and discover new tips and tricks for:
<li> Profiling with multiple tools to quickly find problem areas
</li><li> Detailed description of the garbage collector, how to optimize your code for it, and how to diagnose difficult memory-related issues
</li><li> How to analyze JIT and diagnose warmup problems
</li><li> Effective use of the Task Parallel Library to maximize throughput
</li><li> Which .NET features and APIs to use and which to avoid
</li><li> Instrument your program with performance counters and ETW events
</li><li> Use the latest and greatest .NET features
</li><li> Build a performance-minded team
</li><li>...and so much more
Ben Watson has been a software engineer at Microsoft since 2008. On the Bing platform team, he has built one of the world's leading .NET-based, high-performance server applications, handling high-volume, low-latency requests across thousands of machines for millions of customers. In his spare time, he enjoys books, music, the outdoors, and spending time with his wife Leticia and children Emma and Matthew. They live near Seattle, Washington, USA.
Need fast, robust, efficient code solutions for Microsoft C# 4.0? This book delivers exactly what you’re looking for. You’ll find more than 200 solutions, best-practice techniques, and tested code samples for everything from classes to exceptions, networking to XML, LINQ to Silverlight. Completely up-to-date, this book fully reflects major language enhancements introduced with the new C# 4.0 and .NET 4.0. When time is of the essence, turn here first: Get answers you can trust and code you can use, right now!
Beginning with the language essentials and moving on to solving common problems using the .NET Framework, C# 4.0 How-To addresses a wide range of general programming problems and algorithms. Along the way is clear, concise coverage of a broad spectrum of C# techniques that will help developers of all levels become more proficient with C# and the most popular .NET tools.
Fast, Reliable, and Easy to Use!Write more elegant, efficient, and reusable code Take advantage of real-world tips and best-practices advice Create more effective classes, interfaces, and types Master powerful data handling techniques using collections, serialization, databases, and XML Implement more effective user interfaces with both WPF and WinForms Construct Web-based and media-rich applications with ASP.NET and Silverlight Make the most of delegates, events, and anonymous methods Leverage advanced C# features ranging from reflection to asynchronous programming Harness the power of regular expressions Interact effectively with Windows and underlying hardware Master the best reusable patterns for designing complex programs
Concurrency is becoming more common in responsive and scalable application development, but it’s been extremely difficult to code. The detailed solutions in this cookbook show you how modern tools raise the level of abstraction, making concurrency much easier than before. Complete with ready-to-use code and discussions about how and why the solution works, you get recipes for using:async and await for asynchronous operationsParallel programming with the Task Parallel LibraryThe TPL Dataflow library for creating dataflow pipelinesCapabilities that Reactive Extensions build on top of LINQUnit testing with concurrent codeInterop scenarios for combining concurrent approachesImmutable, threadsafe, and producer/consumer collectionsCancellation support in your concurrent codeAsynchronous-friendly Object-Oriented ProgrammingThread synchronization for accessing data
This book is aimed at developers with an advanced knowledge of Android and who want to test their skills and learn new techniques to increase the performance of their applications. We assume they are comfortable working with the entire Android SDK, and have been doing it for a few years. They need to be familiar with frameworks such as NDK to use native code, which is crucial for app performanceWhat You Will LearnCreate Android applications that squeeze the most from the limited resource capacity of devicesSwap code that isn't performingEfficient memory management by identifying problems such as leaksReap the benefits of multithreaded and asynchronous programmingMaximize the security and encryption mechanisms natively provided by AndroidPerform efficient network operations and techniques to retrieve data from serversMaster the NDK to write native code that can perform faster operationsIn Detail
Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right.
Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state–of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don't drain more than they should.
This book explains techniques for building optimized and efficient systems that do not drain the battery, cause memory leaks, or slow down with time.Style and approach
The book follows a tutorial-based approach to take the reader from the basic fundamentals of debugging to advanced performance-improvement concepts.