FoldsThreads.jl provides extra thread-based executors usable with various JuliaFolds/*.jl packages such as Transducers.jl and FLoops.jl.
Executors
,----------------------.
Algorithms | FoldsThreads.jl | Data structures
,------------------. |-----------------------| ,-----------------.
| FLoops, | | ThreadedEx* | | Array, |
| Folds, | | WorkStealingEx, | | Tables, |
| Transducers, | --- | DepthFirstEx, | --- | FGenerators, |
| OnlineStats, | | TaskPoolEx, | | Dict, |
| DataTools, ... ' | NondeterministicEx, | | Set, ... |
`------------------' | ... | `-----------------'
`-----------------------'
(* ThreadedEx is the default executor provided by Transducers.jl)
WorkStealingEximplements work stealing (continuation stealing). Useful for load-balancing.DepthFirstEximplements depth-first scheduling. Useful forfindfirst-type computations.TaskPoolEx: Task pool executor. Useful for fine execution control (e.g., back pressure and "background" threads).NondeterministicEx: An executor for parallelizing computations with non-parallelizable iterators.