In role Iterable§
See primary documentation in context for method race
method race(Int(Cool) :$batch = 64, Int(Cool) :$degree = 4 --> Iterable)
Returns another Iterable that is potentially iterated in parallel, with a given batch size and degree of parallelism (number of parallel workers).
Unlike hyper
, race
does not preserve the order of elements (mnemonic: in a race, you never know who will arrive first).
say ([1..100].race.map({ $_ +1 }).list);
Use race in situations where it is OK to do the processing of items in parallel, and the output order does not matter. See hyper
for situations where you want items processed in parallel and the output order should be kept relative to the input order.
Blog post on the semantics of hyper and race
See hyper
for an explanation of :$batch
and :$degree
.
In RaceSeq§
See primary documentation in context for method race
method race(RaceSeq:D:)
Returns the object.
In HyperSeq§
See primary documentation in context for method race
method race(HyperSeq:D:)
Creates a RaceSeq
object out of the current one.