├── .github └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE-APACHEv2 ├── LICENSE-MIT ├── README.md ├── benchmarks ├── bouncing_producer_consumer │ ├── README.md │ └── taskpool_bpc.nim ├── dfs │ └── taskpool_dfs.nim ├── fibonacci │ ├── README.md │ ├── stdnim_fib.nim │ └── taskpool_fib.nim ├── heat │ ├── stdnim_heat.nim │ └── taskpool_heat.nim ├── matmul_cache_oblivious │ ├── README.md │ └── taskpool_matmul_co.nim ├── nqueens │ ├── stdnim_nqueens.nim │ └── taskpool_nqueens.nim ├── resources.nim ├── single_task_producer │ ├── README.md │ └── taskpool_spc.nim ├── wtime.h └── wtime.nim ├── doc └── README.md ├── examples ├── e01_simple_tasks.nim └── e02_parallel_pi.nim ├── papers ├── Chase-Lev - Dynamic Circular Work-Stealing Deque.pdf └── Nhat Minh Le et al - Correct and Efficient Work-Stealing for Weak Memory Models.pdf ├── taskpools.nim ├── taskpools.nimble └── taskpools ├── ast_utils.nim ├── channels_spsc_single.nim ├── chase_lev_deques.nim ├── event_notifiers.nim ├── flowvars.nim ├── instrumentation ├── contracts.nim └── loggers.nim ├── primitives ├── allocs.nim ├── barriers.md ├── barriers.nim ├── barriers_macos.nim ├── barriers_posix.nim └── barriers_windows.nim ├── sparsesets.nim ├── taskpools.nim └── tasks.nim /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE-APACHEv2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/LICENSE-APACHEv2 -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/bouncing_producer_consumer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/bouncing_producer_consumer/README.md -------------------------------------------------------------------------------- /benchmarks/bouncing_producer_consumer/taskpool_bpc.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/bouncing_producer_consumer/taskpool_bpc.nim -------------------------------------------------------------------------------- /benchmarks/dfs/taskpool_dfs.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/dfs/taskpool_dfs.nim -------------------------------------------------------------------------------- /benchmarks/fibonacci/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/fibonacci/README.md -------------------------------------------------------------------------------- /benchmarks/fibonacci/stdnim_fib.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/fibonacci/stdnim_fib.nim -------------------------------------------------------------------------------- /benchmarks/fibonacci/taskpool_fib.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/fibonacci/taskpool_fib.nim -------------------------------------------------------------------------------- /benchmarks/heat/stdnim_heat.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/heat/stdnim_heat.nim -------------------------------------------------------------------------------- /benchmarks/heat/taskpool_heat.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/heat/taskpool_heat.nim -------------------------------------------------------------------------------- /benchmarks/matmul_cache_oblivious/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/matmul_cache_oblivious/README.md -------------------------------------------------------------------------------- /benchmarks/matmul_cache_oblivious/taskpool_matmul_co.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/matmul_cache_oblivious/taskpool_matmul_co.nim -------------------------------------------------------------------------------- /benchmarks/nqueens/stdnim_nqueens.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/nqueens/stdnim_nqueens.nim -------------------------------------------------------------------------------- /benchmarks/nqueens/taskpool_nqueens.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/nqueens/taskpool_nqueens.nim -------------------------------------------------------------------------------- /benchmarks/resources.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/resources.nim -------------------------------------------------------------------------------- /benchmarks/single_task_producer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/single_task_producer/README.md -------------------------------------------------------------------------------- /benchmarks/single_task_producer/taskpool_spc.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/single_task_producer/taskpool_spc.nim -------------------------------------------------------------------------------- /benchmarks/wtime.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/wtime.h -------------------------------------------------------------------------------- /benchmarks/wtime.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/benchmarks/wtime.nim -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/doc/README.md -------------------------------------------------------------------------------- /examples/e01_simple_tasks.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/examples/e01_simple_tasks.nim -------------------------------------------------------------------------------- /examples/e02_parallel_pi.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/examples/e02_parallel_pi.nim -------------------------------------------------------------------------------- /papers/Chase-Lev - Dynamic Circular Work-Stealing Deque.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/papers/Chase-Lev - Dynamic Circular Work-Stealing Deque.pdf -------------------------------------------------------------------------------- /papers/Nhat Minh Le et al - Correct and Efficient Work-Stealing for Weak Memory Models.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/papers/Nhat Minh Le et al - Correct and Efficient Work-Stealing for Weak Memory Models.pdf -------------------------------------------------------------------------------- /taskpools.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools.nim -------------------------------------------------------------------------------- /taskpools.nimble: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools.nimble -------------------------------------------------------------------------------- /taskpools/ast_utils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/ast_utils.nim -------------------------------------------------------------------------------- /taskpools/channels_spsc_single.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/channels_spsc_single.nim -------------------------------------------------------------------------------- /taskpools/chase_lev_deques.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/chase_lev_deques.nim -------------------------------------------------------------------------------- /taskpools/event_notifiers.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/event_notifiers.nim -------------------------------------------------------------------------------- /taskpools/flowvars.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/flowvars.nim -------------------------------------------------------------------------------- /taskpools/instrumentation/contracts.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/instrumentation/contracts.nim -------------------------------------------------------------------------------- /taskpools/instrumentation/loggers.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/instrumentation/loggers.nim -------------------------------------------------------------------------------- /taskpools/primitives/allocs.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/allocs.nim -------------------------------------------------------------------------------- /taskpools/primitives/barriers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/barriers.md -------------------------------------------------------------------------------- /taskpools/primitives/barriers.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/barriers.nim -------------------------------------------------------------------------------- /taskpools/primitives/barriers_macos.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/barriers_macos.nim -------------------------------------------------------------------------------- /taskpools/primitives/barriers_posix.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/barriers_posix.nim -------------------------------------------------------------------------------- /taskpools/primitives/barriers_windows.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/primitives/barriers_windows.nim -------------------------------------------------------------------------------- /taskpools/sparsesets.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/sparsesets.nim -------------------------------------------------------------------------------- /taskpools/taskpools.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/taskpools.nim -------------------------------------------------------------------------------- /taskpools/tasks.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/status-im/nim-taskpools/HEAD/taskpools/tasks.nim --------------------------------------------------------------------------------