luckless
Lockless data structures for Common Lisp (by Shinmera)
lparallel
Parallelism for Common Lisp (by lmj)
luckless | lparallel | |
---|---|---|
2 | 4 | |
20 | 240 | |
- | - | |
4.2 | 0.0 | |
3 months ago | over 1 year ago | |
Common Lisp | Common Lisp | |
zlib License | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
luckless
Posts with mentions or reviews of luckless.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-12.
-
Are there public experiments with parallel and concurrent lisp 'engines'?
You mean, speaking in CL terms, gethash and setf gethash? These, again, are just functions that work on a hash-table-like data structure. See e.g. Luckless for an implementation of a hash table that's additionally lock-free (and therefore should work in presence of multiple threads).
- Share a hash table with SBCL and Allegro Serve
lparallel
Posts with mentions or reviews of lparallel.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-10.
-
Request for help merging PR to lparallel
A while ago (pretty long while actually) i've found this inconsistency in setting thread bindings in lparallel. Fixed it with this little PR https://github.com/lmj/lparallel/pull/41
-
Consuming HTTP endpoint using Common Lisp
Parallel First package to use is lparallel to enable parallel processing without much coding on my side. Thing are easy here, you define lparallel:*kernel* with number of workers available for parallel tasks, define channel to receive results and start coding. I have actually used approach that does not even require channel for results.
-
A vision of a multi-threaded Emacs
Users should work with higher level primitives like tasks, parallel loops, asynchronous functions etc. Think TBB, Thrust, Taskflow, lparallel for CL, etc.
-
Are there public experiments with parallel and concurrent lisp 'engines'?
Observe, I am not asking for libraries or frameworks to enable writing threaded or task based and concurrent user applications, I am aware of those myself, for example lparallel for CL. What I am interested about is, if it is worth, or even possible, to parallelize core lisp runtime itself.
What are some alternatives?
When comparing luckless and lparallel you can also consider the following projects:
SICL - A fresh implementation of Common Lisp
oneTBB - oneAPI Threading Building Blocks (oneTBB)
42nd-at-threadmill - A SIMD-accelerated concurrent hash table.
Eclector - A portable Common Lisp reader that is highly customizable, can recover from errors and can return concrete syntax trees
concurrent-hash-tables - A "portability" library for concurrent hash tables in Common Lisp
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
petalisp-cuda
emacs-request - Request.el -- Easy HTTP request for Emacs Lisp
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
HVM - A massively parallel, optimal functional runtime in Rust