4 ms·
For those who didn't follow, some news from 2022: - SBCL is now callable as a shared library - SIMD support - faster (de)compression with zstd - TRACE suppo
by vindarel 3y ago
For those who didn't follow, some news from 2022:
- 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-lisp-2022-in-review/#implementations https://lisp-journey.gitlab.io/blog/these-years-in-common-li...
- ravi-delia 3y agoSIMD support is huge, and if you're willing to do a little hacking (SBCL is very easy to extend) you can even use it without the intrinsics
- thoi23u4o3434 3y agoIn fairness, "SIMD support" is not exactly "the compiler can reduce code to AVX instructions" but more like "you can now write non-portable custom assembly-like code to make your code faster".
- smegsicle 3y agobut i assume a somewhat nicer interface than the internal VOP intrinsic stuff that sbcl has always had
- rice7th 3y agoStill better than no SIMD at all imo
- koito17 3y agoYup. I used to use Clozure CL all the time, but since the code I write tends to involve lots of number crunching, SB-SIMD and Loopus are indispensible. Even before SB-SIMD, SBCL has always seemed like the best Common Lisp implementation for any arithmetic. Or at least this seems to be case when you benchmark CCL against it :)
- ravi-delia 3y agoThat's what I mean by "willing to hack"! Getting the compiler to use SIMD instructions is actually pretty easy- you just specify where to use them and let it handle them. Then you pinky promise that your array really is made of floats and turn safety off.