1 IN: benchmark.iteration
2 USING: sequences vectors arrays strings sbufs math math.vectors
5 : <range> ( from to -- seq ) dup iota <slice> ; inline
7 : vector-iter ( -- ) 100 [ 0 100000 <range> >vector [ ] map drop ] times ;
8 : array-iter ( -- ) 100 [ 0 100000 <range> >array [ ] map drop ] times ;
9 : string-iter ( -- ) 100 [ 0 100000 <range> >string [ ] map drop ] times ;
10 : sbuf-iter ( -- ) 100 [ 0 100000 <range> >sbuf [ ] map drop ] times ;
11 : reverse-iter ( -- ) 100 [ 0 100000 <range> >vector <reversed> [ ] map drop ] times ;
12 : dot-iter ( -- ) 100 [ 0 100000 <range> dup v. drop ] times ;
14 : iteration-benchmark ( -- )
21 MAIN: iteration-benchmark