https://arxiv.org/abs/2112.07880 close this message arXiv smileybones icon Global Survey In just 3 minutes, help us better understand how you perceive arXiv. Take the survey TAKE SURVEY Skip to main content Cornell University We gratefully acknowledge support from the Simons Foundation and member institutions. arXiv.org > cs > arXiv:2112.07880 [ ] Help | Advanced Search [All fields ] Search arXiv Cornell University Logo [ ] GO quick links * Login * Help Pages * About Computer Science > Performance arXiv:2112.07880 (cs) [Submitted on 15 Dec 2021] Title:An Empirical Lower Bound on the Overheads of Production Garbage Collectors Authors:Zixian Cai, Stephen M. Blackburn, Michael D. Bond, Martin Maas Download PDF Abstract: Despite the long history of garbage collection (GC) and its prevalence in modern programming languages, there is surprisingly little clarity about its true overheads. Even when evaluated using modern, well-established methodologies, crucial tradeoffs made by GCs can go unnoticed, which leads to misinterpretation of evaluation results. In this paper, we 1) develop a methodology that allows us to place a lower bound on the absolute overhead (LBO) of GCs, and 2) expose key performance tradeoffs of five production GCs in OpenJDK 17, a high-performance Java runtime. We find that with a modest heap size and across a diverse suite of modern benchmarks, production GCs incur substantial overheads, spending 7-82% more wall-clock time and 6-92% more CPU cycles relative to a zero-cost GC scheme. We show that these overheads can be masked by concurrency and generous provision of memory/compute. In addition, we find that newer low-pause GCs are significantly more expensive than older GCs, and sometimes even deliver worse application latency than stop-the-world GCs. Our findings reaffirm that GC is by no means a solved problem and that a low-cost, low-latency GC remains elusive. We recommend adopting the LBO methodology and using a wider range of cost metrics for future GC evaluations. This will not only help the community more comprehensively understand the performance characteristics of different GCs, but also reveal opportunities for future GC optimizations. Comments: Under submission Subjects: Performance (cs.PF); Programming Languages (cs.PL) Cite as: arXiv:2112.07880 [cs.PF] (or arXiv:2112.07880v1 [cs.PF] for this version) Submission history From: Zixian Cai [view email] [v1] Wed, 15 Dec 2021 04:51:49 UTC (165 KB) Full-text links: Download: * PDF * Other formats (license) Current browse context: cs.PF < prev | next > new | recent | 2112 Change to browse by: cs cs.PL References & Citations * NASA ADS * Google Scholar * Semantic Scholar a export bibtex citation Loading... Bibtex formatted citation x [loading... ] Data provided by: Bookmark BibSonomy logo Mendeley logo Reddit logo ScienceWISE logo (*) Bibliographic Tools Bibliographic and Citation Tools [ ] Bibliographic Explorer Toggle Bibliographic Explorer (What is the Explorer?) [ ] Litmaps Toggle Litmaps (What is Litmaps?) [ ] scite.ai Toggle scite Smart Citations (What are Smart Citations?) ( ) Code & Data Code and Data Associated with this Article [ ] arXiv Links to Code Toggle arXiv Links to Code & Data (What is Links to Code & Data?) ( ) Related Papers Recommenders and Search Tools [ ] Connected Papers Toggle Connected Papers (What is Connected Papers?) [ ] Core recommender toggle CORE Recommender (What is CORE?) ( ) About arXivLabs arXivLabs: experimental projects with community collaborators arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website. Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them. Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs and how to get involved. Which authors of this paper are endorsers? | Disable MathJax (What is MathJax?) * About * Help * Click here to contact arXiv Contact * Click here to subscribe Subscribe * Copyright * Privacy Policy * Web Accessibility Assistance * arXiv Operational Status Get status notifications via email or slack