Pro .NET performance
Maximizing the performance of your algorithms and applications is extremely important and can give you a competitive advantage, a lower cost of ownership, and happier users. Pro .NET Performance explains the internals of Windows, the CLR, and the physical hardware that affect the performance of your...
Autor principal: | |
---|---|
Otros Autores: | , |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Berkeley, Calif.] :
Apress
2012.
|
Edición: | 1st ed. 2012. |
Colección: | The expert's voice in .NET. Pro .NET performance
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628686906719 |
Tabla de Contenidos:
- Title Page; Copyright Page; Contents at a Glance; Table of Contents; Foreword; About the Authors; About the Technical Reviewers; Acknowledgments; Introduction; CHAPTER 1 Performance Metrics; Performance Goals; Performance Metrics; Summary; CHAPTER 2 Performance Measurement; Approaches to Performance Measurement; Built-in Windows Tools; Performance Counters; Performance Counter Logs and Alerts; Custom Performance Counters; Event Tracing for Windows (ETW); Windows Performance Toolkit (WPT); PerfMonitor; The PerfView Tool; Custom ETW Providers; Time Profilers; Visual Studio Sampling Profiler
- Visual Studio Instrumentation ProfilerAdvanced Uses of Time Profilers; Sampling Tips; Collecting Additional Data While Profiling; Profiler Guidance; Advanced Profiling Customization; Allocation Profilers; Visual Studio Allocation Profiler; CLR Profiler; Memory Profilers; ANTS Memory Profiler; SciTech .NET Memory Profiler; Other Profilers; Database and Data Access Profilers; Concurrency Profilers; I/O Profilers; Microbenchmarking; Poor Microbenchmark Example; Microbenchmarking Guidelines; Summary; CHAPTER 3 Type Internals; An Example
- Semantic Differences between Reference Types and Value TypesStorage, Allocation, and Deallocation; Reference Type Internals; The Method Table; Invoking Methods on Reference Type Instances; Dispatching Non-Virtual Methods; Dispatching Static and Interface Methods; Sync Blocks And The lock Keyword; Value Type Internals; Value Type Limitations; Virtual Methods on Value Types; Boxing; Avoiding Boxing on Value Types with the Equals Method; The GetHashCode Method; Best Practices for Using Value Types; Summary; CHAPTER 4 Garbage Collection; Why Garbage Collection?; Free List Management
- Reference-Counting Garbage CollectionTracing Garbage Collection; Mark Phase; Local Roots; Static Roots; Other Roots; Performance Implications; Sweep and Compact Phases; Pinning; Garbage Collection Flavors; Pausing Threads for Garbage Collection; Pausing Threads during the Mark Phase; Pausing Threads during the Sweep Phase; Workstation GC; Concurrent Workstation GC; Non-Concurrent Workstation GC; Switching Between GC Flavors; Generations; Generational Model Assumptions; .NET Implementation of Generations; Generation 0; Generation 1; Generation 2; Large Object Heap
- References between GenerationsBackground GC; GC Segments and Virtual Memory; Finalization; Manual Deterministic Finalization; Automatic Non-Deterministic Finalization; Pitfalls of Non-Deterministic Finalization; The Dispose Pattern; Resurrection; Weak References; Interacting with the Garbage Collector; The System.GC Class; Diagnostic Methods; Notifications; Control Methods; Interacting with the GC using CLR Hosting; GC Triggers; Garbage Collection Performance Best Practices; Generational Model; Pinning; Finalization; Miscellaneous Tips and Best Practices; Value Types; Object Graphs
- Pooling Objects