<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distilling the Real Cost of Production Garbage Collectors · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/2112.07880/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/2112.07880/feed.xml" rel="self" type="application/rss+xml" /><item><title>Distilling the Real Cost of Production Garbage Collectors — mentioned by yvdriess</title><link>https://news.ycombinator.com/item?id=47171824</link><guid isPermaLink="false">urn:hackerpapers:mention:2112.07880:47171824</guid><pubDate>Thu, 26 Feb 2026 20:48:21 GMT</pubDate><description>&lt;p&gt;The problem is that there is no baseline for measuring GC overhead. You cannot turn it off, you can only replace and compare with different strategies. For example sbrk is technically a noop GC, but that also has overhead and impact because it will not compact objects and give you bad cache behavior. (It illustrates the OP&amp;#x27;s point that it is not enough to measure pauses, sbrk has no pauses but gets outperformed easily.) You could stop collecting performance counters around GC phases, but you even if you are not measuring the CPU still runs through its instructions, causing the second order…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2112.07880/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PF</category></item><item><title>Distilling the Real Cost of Production Garbage Collectors — mentioned by pkolaczk</title><link>https://news.ycombinator.com/item?id=32408259</link><guid isPermaLink="false">urn:hackerpapers:mention:2112.07880:32408259</guid><pubDate>Wed, 10 Aug 2022 06:03:16 GMT</pubDate><description>&lt;p&gt;That&amp;#x27;s a common wisdom, but there is little if any evidence to support it. True GC costs are simply more hidden and harder to measure. A malloc/free pair might be slightly slower than Java&amp;#x27;s new (not by much really - go measure), but invoking `new` is not the only cost of GC. https://arxiv.org/abs/2112.07880 Also modern low pause GCs have way higher CPU overhead than the old STW ones. Try to set a low pause GC pause target to 0.1 ms or set the heap limit to 110% of live memory and see what happens to CPU consumption. Last time I tried, the app didn&amp;#x27;t even start - got OOM nearly instantly.…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2112.07880/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PF</category></item><item><title>Distilling the Real Cost of Production Garbage Collectors — HN submission</title><link>https://news.ycombinator.com/item?id=29582801</link><guid isPermaLink="false">urn:hackerpapers:submission:2112.07880:29582801</guid><pubDate>Thu, 16 Dec 2021 19:39:37 GMT</pubDate><description>&lt;p&gt;An Empirical Lower Bound on the Overheads of Production Garbage Collectors&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;15 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/2112.07880/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PF</category></item></channel></rss>
