The garbage collector in .NET - Part 2: Compacting
Explains the .NET Garbage Collector's compacting phase, its performance benefits, and the Large Object Heap (LOH).
Explains the .NET Garbage Collector's compacting phase, its performance benefits, and the Large Object Heap (LOH).
Explains the ObjectPool pattern in C# for performance optimization, showing how to reuse expensive objects to reduce garbage collection overhead.
A deep dive into how the .NET Garbage Collector works, explaining its phases, generations, and impact on application performance.
Explains why using finalizers in C# is problematic and advocates for IDisposable for deterministic resource cleanup.
Explores four methods for creating arrays in C#, comparing performance and use cases for new, ArrayPool, GC.AllocateArray, and GC.AllocateUninitializedArray.
Explores the deprecation of finalization in JDK 18, detailing its flaws and the future of resource management in Java.
Explains how to reduce memory usage for multiple .NET services on a single machine by disabling server garbage collection.
Explains memory management, the stack, and garbage collection in programming, using examples from C, Go, and Rust.
Explains how to use .NET startup hooks to monitor garbage collection statistics by injecting a polling thread into applications.
Explains how to check if .NET Core GC verbose events are enabled on a live Linux server without using a debugger, by reading process memory.
A conference talk exploring .NET memory management concepts, the Garbage Collector, hidden allocations, and profiling techniques.
A deep dive into how the .NET runtime performs stack walking for garbage collection, debugging, and exception handling.
Explores the challenges of implementing Java's ReferenceQueue and PhantomReference concepts in C# for garbage collection notification.
A curated list of presentations and talks that dive deep into the internal workings of the .NET Runtime, including garbage collection, JIT, and performance analysis.
A curated list of blogs and resources for developers to learn about the low-level internals and performance of the .NET runtime and CLR.
A technical analysis comparing pause times in .NET's Workstation and Server Garbage Collection modes using a standardized benchmark.
Explains how strings in .NET are objects subject to garbage collection, analyzing their memory allocation and behavior.
A developer details the challenges of building a Java tracing agent for distributed systems, focusing on asynchronous execution and its impact on garbage collection.
A guide to analyzing .NET memory dumps using the CLR MD library, covering heap inspection and string analysis.
Explains how to use the .NET TryStartNoGCRegion API to prevent garbage collection pauses during critical code execution.