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

Descripción completa

Detalles Bibliográficos
Autor principal: Goldshtein, Sasha (-)
Otros Autores: Zurbalev, Dima, Flatow, Ido
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