- SBCL is now callable as a shared library
- SIMD support
- faster (de)compression with zstd
- TRACE supports tracing macro functions, compiler-macro functions, individual methods and local functions (flet and labels)
- the SBCL repository reached 20,000 commits.
- Prebuilt SBCL binary for Android (Termux) (unofficial)
https://lisp-journey.gitlab.io/blog/these-years-in-common-li...
> Overall we have needed to do surprisingly little actual performance analysis and optimisation work to make Kandria run well. This is definitely in large part thanks to SBCL’s quite good native code compiler and type inference systems, and the prior work we’ve done to design critical libraries to not be completely obscene in terms of their performance characteristics.
> […]
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/immix/
For anyone wondering how it can be conservative and moving, for values that may or may not be pointers, it treats the data as pinned.
Originally CMUCL targeted RISC processors that had a lot of registers, so it maintained two stacks. X86 is extremely register starved, so the conservative GC was written.
In practice, the conservative nature doesn't cause problems on 64 bit architectures.