Using fold to parallelize collections
A collection that implements the
CollReduce protocol is still sequential by nature. Using the
reduce function with
CollReduce does have a certain amount of performance gain, but it still processes elements in a collection in a sequential order. The most obvious way to improve the performance of a computation that is performed over a collection is parallelization. Such computations can be parallelized if we ignore the ordering of elements in a given collection to produce the result of the computation. In the reducers library, this is implemented based on the fork/join model of parallelization from the
java.util.concurrent namespace. The fork/join model essentially partitions a collection over which a computation ...