TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Parallel garbage collection for SBCL [pdf]

159 pointsby slyrusover 1 year ago

6 comments

dangover 1 year ago
Recent and related (but we merged the comments hither):<p><i>Steel Bank Common Lisp 2.3.8 released: “a mark-region parallel GC is available”</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37295611">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37295611</a>
评论 #37302483 未加载
rayinerover 1 year ago
Very cool! Here is the paper: <a href="https:&#x2F;&#x2F;zenodo.org&#x2F;record&#x2F;7816398" rel="nofollow noreferrer">https:&#x2F;&#x2F;zenodo.org&#x2F;record&#x2F;7816398</a>. It uses the well known Immix heap layout&#x2F;algorithm. <a href="https:&#x2F;&#x2F;users.cecs.anu.edu.au&#x2F;~steveb&#x2F;pubs&#x2F;papers&#x2F;immix-pldi-2008.pdf" rel="nofollow noreferrer">https:&#x2F;&#x2F;users.cecs.anu.edu.au&#x2F;~steveb&#x2F;pubs&#x2F;papers&#x2F;immix-pldi...</a><p>The old gencgc was pretty cool for the single core era, and it sounds like it still holds up well. If I recall correctly, it was based on the Bartlett Mostly Copying paper, which is an elegant and practical GC design. <a href="https:&#x2F;&#x2F;www.hpl.hp.com&#x2F;techreports&#x2F;Compaq-DEC&#x2F;WRL-TN-12.pdf" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.hpl.hp.com&#x2F;techreports&#x2F;Compaq-DEC&#x2F;WRL-TN-12.pdf</a>. I miss these old papers that described this stuff in a way you didn’t have to be a math major to understand. I think the first version of that paper had the C++ code as an appendix: <a href="https:&#x2F;&#x2F;www.hpl.hp.com&#x2F;techreports&#x2F;Compaq-DEC&#x2F;WRL-88-2.pdf" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.hpl.hp.com&#x2F;techreports&#x2F;Compaq-DEC&#x2F;WRL-88-2.pdf</a>.<p>Clarity in your technical communications matters. The Immix papers are similarly well written and clear. I don’t think it’s a surprise that both GC designs have also been independently implemented over and over. The Chaitin-Briggs register allocator is another example where I’d attribute at least some of the success in widespread industrial implementation to Briggs’ excellent and approachable PhD thesis describing the algorithm: <a href="https:&#x2F;&#x2F;www.cs.utexas.edu&#x2F;users&#x2F;mckinley&#x2F;380C&#x2F;lecs&#x2F;briggs-thesis-1992.pdf" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.cs.utexas.edu&#x2F;users&#x2F;mckinley&#x2F;380C&#x2F;lecs&#x2F;briggs-th...</a>
评论 #37296724 未加载
评论 #37299225 未加载
评论 #37303665 未加载
评论 #37300696 未加载
vindarelover 1 year ago
Other great achievements from last year [0]:<p>- SBCL is callable as a shared library (see sbcl-librarian)<p>- sb-simd<p>- prebuilt binaries for Android (termux, unofficial)<p>- better image compression using zstd<p>- I&#x27;ll add <a href="https:&#x2F;&#x2F;github.com&#x2F;sionescu&#x2F;sbcl-goodies">https:&#x2F;&#x2F;github.com&#x2F;sionescu&#x2F;sbcl-goodies</a>, binaries with &quot;goodies&quot; inside (OpenSSL, libfixposix)<p>yay!<p>[0]: <a href="https:&#x2F;&#x2F;lisp-journey.gitlab.io&#x2F;blog&#x2F;these-years-in-common-lisp-2022-in-review&#x2F;#implementations" rel="nofollow noreferrer">https:&#x2F;&#x2F;lisp-journey.gitlab.io&#x2F;blog&#x2F;these-years-in-common-li...</a><p>bonus from 2021: true static binaries are coming <a href="https:&#x2F;&#x2F;www.timmons.dev&#x2F;posts&#x2F;static-executables-with-sbcl-v2.html" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.timmons.dev&#x2F;posts&#x2F;static-executables-with-sbcl-v...</a>
评论 #37302236 未加载
评论 #37302819 未加载
评论 #37302003 未加载
ducktectiveover 1 year ago
Nice, good to see activity in SBCL dev.<p>Does anyone know how difficult implementing a Real-Time GC would be for SBCL or ECL. I know of that paper by Rodney Brooks (L -- A Common Lisp for Embedded Systems)
评论 #37296968 未加载
评论 #37299050 未加载
CyberDildonicsover 1 year ago
A pattern I&#x27;ve noticed is that in languages with garbage collection, the garbage collection aspect is never finished. It is always a pain point and people are constantly waiting for promised future features and refinements.
评论 #37316335 未加载
Alifatiskover 1 year ago
What would having a parallel GC mean in the practical sense?<p>That there is no pauses happening during the runtime?
评论 #37304213 未加载
评论 #37305305 未加载