Perceus: garbage free reference counting with reuse
Alex Reinking, Ningning Xie, Leonardo de Moura, Daan Leijen
摘要
We introduce Perceus, an algorithm for precise reference counting with reuse and specialization. Starting from a functional core language with explicit control-flow, Perceus emits precise reference counting instructions such that (cycle-free) programs are garbage free, where only live references are retained. This enables further optimizations, like reuse analysis that allows for guaranteed in-place updates at runtime. This in turn enables a novel programming paradigm that we call functional but in-place (FBIP). Much like tail-call optimization enables writing loops with regular function calls, reuse analysis enables writing in-place mutating algorithms in a purely functional way. We give a novel formalization of reference counting in a linear resource calculus, and prove that Perceus is sound and garbage free. We show evidence that Perceus, as implemented in Koka, has good performance and is competitive with other state-of-the-art memory collectors.
• Software and its engineering → Runtime environments; Garbage collection; • Theory of computation → Linear logic.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper12
- Relational compilation for performance-critical applications: extensible proof-producing translation of functional models into low-level codeClément Pit-Claudel, Jade Philipoom, Dustin Jamner, Andres Erbsen 等PLDI 2022 · 被引用 26 次
- First-class names for effect handlersNingning Xie, Youyou Cong, Kazuki Ikemori, Daan LeijenOOPSLA 2022 · 被引用 11 次
- Coop: Memory is not a CommodityJianhao Zhang, Shihan Ma, Peihong Liu, Jinhui YuanNeurIPS 2023 · 被引用 11 次
- Tail Recursion Modulo Context: An Equational ApproachDaan Leijen, Anton LorenzenPOPL 2023 · 被引用 9 次
- The Functional Essence of Imperative Binary Search TreesAnton Lorenzen, Daan Leijen, Wouter Swierstra, Sam LindleyPLDI 2024 · 被引用 6 次
相关 Paper
- Fully-Automatic Type Inference for Borrows with LifetimesWilliam Brandon, Benjamin Driscoll, Frank Dai, Jonathan Ragan-Kelley 等OOPSLA 2026
- Concurrent Immediate Reference CountingJaehwang Jung, Jeonghyeon Kim, Matthew J. Parkinson, Jeehoon KangPLDI 2024 · 被引用 6 次
- CRGC: Fault-Recovering Actor Garbage Collection in PekkoDan Plyukhin, Gul Agha, Fabrizio MontesiPLDI 2025 · 被引用 1 次
- Taking Out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static AnalysesFabian Stemmler, Michael Schwarz, Julian Erhard, Sarah Tilscher 等PLDI 2025 · 被引用 3 次
- Reducing the Memory Footprint of IFDS-Based Data-Flow Analyses using Fine-Grained Garbage CollectionDongjie He, Yujiang Gui, Yaoqing Gao, Jingling XueISSTA 2023 · 被引用 6 次
