sb-simd
SinScheme
Our great sponsors
sb-simd | SinScheme | |
---|---|---|
11 | 3 | |
72 | 24 | |
- | - | |
8.4 | 0.0 | |
almost 2 years ago | over 1 year ago | |
Common Lisp | LLVM | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sb-simd
-
The Usability of Advanced Type Systems: Rust as a Case Study
> fully dynamic
Well, no, it's SBCL. Common Lisp has support for types, but most compilers only use them for optimization, SBCL goes one step further and emits warnings when you mismatch types. And looking at the code, I can see lots of type declarations.
It's also interesting to note that the code does not seem to be using SBCL's new SIMD library*, so it could be sped up even more.
* <https://github.com/marcoheisig/sb-simd>, see the texinfo file for documentation.
-
Implementation comparison
I suppose that using arrays + using SIMD instructions could be even faster. Someone is already doing that: https://github.com/marcoheisig/sb-simd/blob/master/examples/simd-dot.lisp .
-
Which programming language or compiler is faster
Common Lisp (sbcl) performance via native implementation of simd [0] is very impressive ! It is litteraly acheieving C/Cpp speeds (within few ms). Great work by Marco Heisig
[0] https://github.com/marcoheisig/sb-simd
-
sb-simd vectorization speed
Here is another demonstration of how effective SIMD vectorization can be using sb-simd.
-
Quite amazing SBCL benchmark speed with sb-simd vectorization
You can see on Programming Language and Compiler Benchmark site the amazing speed of SBCL when sb-simd is used for vectorization.
-
How to speed up array writes?
For SBCL-specific, Marco and Bela have put in a ton of work at sb-simd - may be the OP finds the relevant simd interface there!
-
Programming Language and compiler Benchmarks
And sb-simd is getting very-very impressive to say the least thanks to Marco Heisig.
-
Best Lisp(s) for Functional & (seperately) Systems programming?
You can use sb-simd for manual vectorisation with SBCL. Manual vectorisation is definitely more hassle than automatic vectorisation, but often worth it.
-
Common Lisp (SBCL) slower than Python 3.9?
Fully agreed. One more library that could open up areas is also coming soon. Though documentation is still to be written. Please check sb-simd I wish I could have supported Marco even more.
- Question about Cons cell implementations
SinScheme
-
Best Lisp(s) for Functional & (seperately) Systems programming?
For example: SinScheme has an llvm-convert module which converts compiled S-expressions into LLVM IR.
-
Simple compilers (LLVM backend) for studying
Heres a small compiler from a Scheme subset to LLVM. I hand-emit the LLVM IR, in lieu of libraries.
-
Closures in LLVM?
In my Scheme->LLVM compiler, I have a pass closure-convert which makes all closures explicit, and strays from a strict lisp syntax to a more c-like style. Then in my llvm-convert pass, I convert the proc language into LLVM.
What are some alternatives?
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository
c3c - Compiler for the C3 language
PrimesResult - The results of the Dave Plummer's Primes Drag Race
racketscript - Racket to JavaScript Compiler
sleef - SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
urlang - Urlang is JavaScript with a sane syntax
kandria - A post-apocalyptic actionRPG. Now on Steam!
Mezzano - An operating system written in Common Lisp
Programming-Language-Benchmarks - Yet another implementation of computer language benchmarks game
cone - Cone Programming Language
Carp - A statically typed lisp, without a GC, for real-time applications.