3 ms·
Btw I meant quasi-mutations of course. So every quasi-mutation conses. Alright.
by ivanb 6mo ago
Btw I meant quasi-mutations of course. So every quasi-mutation conses. Alright.
- guenthert 6mo agoYeah, clojure gets away with it thanks to the high performance of the available gc in the JVM. In the Common Lisp world the compiler puts quite some effort into avoiding heap allocation ("consing"); the language was designed with that in mind. Not sure where it's now, but not too long ago SBCL's gc wasn't its strong point.
- gibsonf1 6mo agoThe newish SBCL parallel gc is fantastic and uses no additional memory during gc
- aidenn0 6mo agoSBCL's gc is historically overly optimized for throughput at the expense of everything else. It also predates common availability of parallel systems. There's a new GC that addresses those things. That being said, for batch processing in single-threaded applications, the older SBCL gc is actually pretty good.