This package is very old and unmaintained. Please use ThreadsX.jl instead.
This package adds multi-threaded versions of functions operating on collections. Currently, the package contains the functions foreach, map, reduce, mapreduce, mapfoldl, mapfoldr.
The simplest way to use the package is the @threaded macro, which converts all the supported functions in the expression to their multi-threaded equivalents.
Example:
julia> using ThreadedIterables
julia> a = rand(1:10, 4)
4-element Array{Int64,1}:
4
7
10
7
julia>@threaded map(x -> 2x, a)
4-element Array{Int64,1}:
8
14
20
14Alternatively, the multi-threaded functions can be used directly - tforeach instead of foreach, tmap instead of map etc. Note that for mapreduce, there are actually 3 options: tmapreduce, maptreduce and tmaptreduce. These functions differ in whether the mapping part, the reduction part, or both of them are multi-threaded.