phadej / optika

Optics library for JavaScript
MIT License
141 stars 9 forks source link

Optimise arrayOf with foldMap #5

Closed phadej closed 7 years ago

phadej commented 7 years ago
715,447/s     1.00x   K.traversed().arrayOf(xs100)
264,708/s     2.70x   L.collect(L.elems, xs100)
 28,051/s    25.51x   xs100.map(I.id)
  2,819/s   253.77x   O.Fold.toListOf(O.Traversal.traversed, xs100)

 27,469/s     1.00x   L.collect([L.elems, L.elems, L.elems], xsss100)
 26,970/s     1.02x   (() => { let acc = []; xsss100.forEach(x0 => { x0.forEach(x1 => { acc = acc.concat(x1); })}); return acc; })()
 18,083/s     1.52x   K.traversed().traversed().traversed().arrayOf(xsss100)
 10,906/s     2.52x   R.chain(R.chain(R.identity), xsss100)
    380/s    72.28x   O.Fold.toListOf(R.compose(O.Traversal.traversed, O.Traversal.traversed, O.Traversal.traversed), xsss100)