LoopRecipes.jl provides several constructs for high-performance loops
based on the extended foldl protocol of
Transducers.jl.
See more in the documentation.
unroll(factor, xs): Unroll an arrayxsby a givenfactor.prefetching(xs): Prefetch each element inxs. It works whenxsis a nested data structure (e.g., vector of vectors, vector of strings).simdeachindex([width,] xs): Iterate over indices ofxsusingSIMD.VecRange. It also takes care of the remainder loop.simdpairs([width,] xs): Iterate over index-value pairs ofxsusingSIMD.VecRangeandSIMD.Vec. It also takes care of the remainder loop.simdstored([width,] xs): For a sparse arrayxs, iterate over stored index-value pairs ofxsusingSIMD.Vec. It also takes care of the remainder loop.