File: README.md

package info (click to toggle)
cl-lparallel 20140713-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 632 kB
  • ctags: 637
  • sloc: lisp: 7,919; sh: 25; makefile: 13
file content (38 lines) | stat: -rw-r--r-- 1,111 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# lparallel

lparallel is a library for parallel programming in Common Lisp, featuring

  * a simple model of task submission with receiving queue
  * constructs for expressing fine-grained parallelism
  * asynchronous condition handling across thread boundaries
  * parallel versions of map, reduce, sort, remove, and many others
  * promises, futures, and delayed evaluation constructs
  * computation trees for parallelizing interconnected tasks
  * bounded and unbounded FIFO queues
  * high and low priority tasks
  * task killing by category
  * integrated timeouts

See http://lparallel.org for documentation and examples.

### Running

lparallel should run on any Common Lisp implementation supported by
bordeaux-threads. The following implementations successfully pass the
test suite:

  * ABCL
  * Allegro
  * Clozure
  * LispWorks
  * SBCL

To run tests, load `lparallel-test.asd` and call `(lparallel-test:execute)`.

To run benchmarks, load `lparallel-bench.asd` and call
`(lparallel-bench:execute N)` where `N` is the number of worker threads.

### Author

James M. Lawrence <llmjjmll@gmail.com>