Awesome
Tasking 2.0
An evolution of the task-parallel runtime system/library developed in my thesis
Related: Check out Weave, a multithreading runtime for the Nim programming language.
Build
On x86-64 GNU/Linux:
$ make CC=gcc
(...)
Test
$ utils/testrun.py -d
build/spc 10000 1: ..........
build/bpc 10000 9 1: ..........
build/bpc 10000 9 10 1: ..........
build/fib-like 30 1: ..........
Benchmark
$ NUM_THREADS=4 utils/benchmark.py -s build/fib-like 30 1
NUM_THREADS=4 build/fib-like 30 1: ..........
+--------+--------+--------+--------+--------+--------+--------+---------+---------+---------+-----------------+
| Min | P10 | P25 | Median | P75 | P90 | Max | P75-P25 | P90-P10 | Max-Min | Mean ± RSD |
+--------+--------+--------+--------+--------+--------+--------+---------+---------+---------+-----------------+
| 343.05 | 343.41 | 343.57 | 344.23 | 345.12 | 345.81 | 348.38 | 1.55 | 2.4 | 5.33 | 344.58 ± 0.45 % |
+--------+--------+--------+--------+--------+--------+--------+---------+---------+---------+-----------------+