Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the simple-parallel-tasks Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 05:49:13 2022 GMT+0.
Next: Systems, Previous: The simple-parallel-tasks Reference Manual, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
#+TITLE: simple-parallel-tasks This is a simple Common Lisp library to evaluate some forms in parallel. * Installation /simple-parallel-tasks/ requires the /chanl/ library. ** With Quicklisp #+BEGIN_SRC lisp (ql:quickload "simple-parallel-tasks") #+END_SRC ** With ASDF Put the directories of /simple-parallel-tasks/ and the dependencies where /ASDF/ can find them and use: #+BEGIN_SRC lisp (asdf:load-system "simple-parallel-tasks") #+END_SRC * API #+BEGIN_SRC lisp (defmacro plist (&rest forms)) #+END_SRC Evaluate /forms/ in parallel and return the results in a list. #+BEGIN_SRC lisp (defmacro pvalues (&rest forms)) #+END_SRC Evaluate /forms/ in parallel and return the results as multiple values. #+BEGIN_SRC lisp (defmacro plet (bindings &body body)) #+END_SRC Like /let/, but the /bindings/ are evaluated in parallel. #+BEGIN_SRC lisp (defmacro pprog1 (first-form &body forms)) #+END_SRC Evaluate /first-form/ and /forms/ in parallel and return the result of the evaluation of /first-form/. #+BEGIN_SRC lisp (defmacro pprogn (&rest forms)) #+END_SRC Evaluate /forms/ in parallel and return the result of the evaluation of the last form. * Examples #+BEGIN_SRC lisp (time (simple-parallel-tasks:plist 1 (+ 4 5) (sleep 2) 8 (sleep 1) (/ 3 5))) Evaluation took: 2.004 seconds of real time (1 9 NIL 8 NIL 3/5) #+END_SRC #+BEGIN_SRC lisp (time (simple-parallel-tasks:pvalues 1 (+ 4 5) (sleep 2) 8 (sleep 1) (/ 3 5))) Evaluation took: 2.007 seconds of real time 1 9 NIL 8 NIL 3/5 #+END_SRC #+BEGIN_SRC lisp (time (simple-parallel-tasks:plet ((x (sleep 2)) (y (+ 3 4)) a (b (sleep 3)) (z (floor 12 5))) (list x y a b z))) Evaluation took: 3.0000 seconds of real time (NIL 7 NIL NIL 2) #+END_SRC * Tests The tests require the /fiveam/ library. #+BEGIN_SRC lisp (asdf:test-system "simple-parallel-tasks") #+END_SRC
Next: Files, Previous: Introduction, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
The main system appears first, followed by any subsystem dependency.
Evaluate forms in parallel
Guillaume Le Vaillant
GPL-3
1.0
chanl (system).
simple-parallel-tasks.lisp (file).
Next: Packages, Previous: Systems, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
Files are sorted by type and then listed depth-first from the systems components trees.
Next: simple-parallel-tasks/simple-parallel-tasks.lisp, Previous: Lisp, Up: Lisp [Contents][Index]
simple-parallel-tasks (system).
Previous: simple-parallel-tasks/simple-parallel-tasks.asd, Up: Lisp [Contents][Index]
simple-parallel-tasks (system).
Next: Definitions, Previous: Files, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
Packages are listed by definition order.
Next: Indexes, Previous: Packages, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
Definitions are sorted by export status, category, package, and then by lexicographic order.
Previous: Definitions, Up: Definitions [Contents][Index]
Previous: Public Interface, Up: Public Interface [Contents][Index]
Like LET, but the BINDINGS are evaluated in parallel.
Evaluate FORMS in parallel and return the results in a list.
Evaluate FIRST-FORM and FORMS in parallel and return the result of the evaluation of FIRST-FORM.
Evaluate FORMS in parallel and return the result of the evaluation of the last form.
Evaluate FORMS in parallel and return the results as multiple values.
Previous: Definitions, Up: The simple-parallel-tasks Reference Manual [Contents][Index]
Jump to: | M P |
---|
Jump to: | M P |
---|
Jump to: | F P S |
---|
Jump to: | F P S |
---|