Tag
garbage-collection
- Oct 17, 2026 Zoned Block Devices and the Zone Append Model How zone semantics replace the random-write abstraction with explicit sequential-write regions, what append buys, and which costs move from the device to the host. filesystems
- Oct 14, 2026 Reachability, Retention, and What Counts as a Leak Why unreachable memory and unfreed memory are different problems, how a tracing collector decides an object is dead, and where conservative roots keep garbage alive. memory systems
- Aug 6, 2026 Reference Counting and the Cycle It Cannot Break How an atomic count turns ownership into a distributed protocol, why strong counts cannot reclaim a cycle, and what weak references and trial deletion cost to add. programming languages
- Jul 29, 2026 In-Process Caches: Retained Heap and the Cost of a Hit What a per-process cache actually retains beyond its values, how object headers and hash-table slots multiply the footprint, and why the garbage collector makes an unbounded local cache a latency risk. backend systems
- Jul 24, 2026 Atomic Reference Counts and the Cycle They Cannot Collect The instruction cost of shared ownership, why the count must be atomic, and the reachability problem that makes a pure reference-counting collector leak. systems programming
- Jun 22, 2026 Garbage Collection and Where Write Amplification Comes From Why reclaiming an erase block copies live pages, how the victim-selection policy sets the copy cost, and the closed-form relation between free space and amplification. filesystems
- Jun 8, 2026 Segment Liveness Accounting: How the Cleaner Knows What Is Already Dead Maintaining a live-byte count per segment as blocks are superseded, why the count must be exact rather than sampled, and how indirect blocks make the decrement easy to get wrong. filesystems
- Jun 7, 2026 Flash Translation Layers: Mapping Tables, Garbage Collection, and Write Cost How a controller maps logical blocks onto pages that can never be overwritten, why the mapping table does not fit in SRAM, and how the choice of victim block sets write amplification. hardware engineering
- Apr 15, 2026 Owner References, Finalizers, and Why Deletion Is a Protocol How the API server tracks which object owns which, why a delete is a two-phase operation with an intermediate state, and what a finalizer that never completes does to a namespace. virtualization
- Dec 24, 2025 Safepoints and Stack Maps: Letting a Collector Find Roots Why compiled code must describe its live pointers at specific instruction offsets, how the runtime gets control there, and what polling costs in the hot path. programming languages
- Nov 14, 2025 Value Representation: Tagged Pointers and NaN Boxing How a dynamically typed runtime distinguishes integers, heap objects, and doubles inside one machine word, and what each encoding costs in branches, memory, and portability. programming languages
- Jul 30, 2025 Decomposing Write Amplification in Log-Structured Filesystems The four terms that add up to bytes written per byte of user data, namely cleaning copies, checkpoint rewrites, summary overhead, and segment slack, and how each responds to segment size. filesystems
- Jul 15, 2025 Stop-the-World Pauses and the False Suspicion They Cause Why a collector pause, a page-fault storm, or a hypervisor deschedule looks identical to a crash from outside, and how a process can tell the difference using only local evidence. distributed systems
- May 8, 2025 Mapping Granularity in a Flash Translation Layer Page-level, block-level, and hybrid address mapping, the DRAM each one costs, and how a controller rebuilds its table from page spare areas after power loss. filesystems
- Apr 22, 2025 Content Addressing: Why a Layer Is Named by Its Digest How digest-addressed storage makes image layers immutable, what deduplication falls out of it, and why garbage collection needs a reachability walk. virtualization
- Mar 12, 2025 Finalizers and the Gap Between Reclaimable and Released Why a finalizer runs at an unpredictable time, how resurrection and finalizer ordering break cleanup, and what a disposal protocol adds that collection cannot. systems programming
- Mar 11, 2025 Allocation Rate, Heap Growth, and Garbage Collection Pauses on a Frame Budget Why per-frame allocation, not heap size, determines pause frequency, how a generational collector turns short-lived objects into a recurring cost, and what makes a collection visible in a frame. mobile computing
- Mar 11, 2025 Data Temperature and the Cost of Cleaning Mixed Segments Why placing hot and cold data in the same segment forces the collector to copy live cold bytes to reclaim dead hot bytes, and how write segregation by expected lifetime bounds that cost. filesystems
- Feb 18, 2025 Storage Pressure: What a Device Does When the Disk Fills How the platform reclaims space from caches under pressure, why a nearly full flash volume slows down before it fails, and how an app should budget and shed data before the system does it. mobile computing
- Feb 11, 2025 Packfiles, Delta Chains, and What Garbage Collection Actually Deletes How loose objects become delta-compressed packs, why delta chains are depth-limited, and how reachability decides what survives a prune. software engineering
- Dec 3, 2024 Vacuum Horizons, Dead Version Collection, and Table Bloat How an engine decides that a row version can never be seen again, why one old snapshot stalls collection for an entire database, and what freezing does to the identifier space. databases
- Sep 16, 2024 Write Amplification and Garbage Collection in Flash Translation Layers Why a flash device rewrites more bytes than it is given, how the mapping granularity decides the multiplier, and which access patterns turn a modest write rate into sustained internal copying. performance engineering
- Aug 5, 2024 Execution Contexts, Environment Records, and What a Closure Keeps Alive How identifier resolution walks a chain of environment records, why the per-iteration binding of let changes closure behaviour, and which storage a closure pins in memory. web platform
- May 22, 2024 Choosing What to Clean: Greedy, Cost-Benefit, and Age-Ordered Segment Policies The three classical segment selection rules, the objective function each one optimizes, and why weighting freed space by the age of the data beats always cleaning the emptiest segment. filesystems
- Mar 14, 2024 Cleaner Interference and Foreground Latency in Append-Only Storage How a background collector steals device queue slots from the write path, why the resulting latency spikes are bursty rather than average, and the throttling and scheduling measures that bound them. filesystems
- Jan 10, 2024 Snapshot Expiry, Reference Counting, and Files That Nothing Points To Why deleting an old snapshot does not delete its files, how a sweeper decides which objects are unreferenced, and the two ways that decision goes wrong in opposite directions. data engineering
- Dec 15, 2023 Ephemeral Preview Environments: Naming, Lifetime, and Cost Control A per-change environment needs a deterministic name, a lifecycle bound to something that can be observed, and a cost ceiling. Where each of those decisions fails, and why cleanup is the hard part. virtualization
- Oct 16, 2023 Garbage Collection Under Space Pressure: When Cleaning Cannot Outrun Writes What happens when a log-structured volume fills to the point that the collector must run in the foreground, why the reclaim rate collapses near full, and the reserved-capacity arithmetic that prevents it. filesystems
- May 6, 2023 Reachability, Grace Periods, and Cruft Packs How Git decides an object is garbage, why deletion waits two weeks, and how packs that carry their own modification times changed collection. developer tools
- Sep 15, 2022 Native Callbacks Into Managed Code How a C library invokes a function pointer that lands in a garbage-collected runtime, why the trampoline cannot simply be the managed function, and what keeps the target alive. language runtimes
- Jun 26, 2022 Committing a Dataset to an Object Store Without a Rename Table formats publish by writing a pointer, not by moving a directory. How snapshots, manifest lists, and garbage collection work when the commit is one small object. cloud infrastructure