]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/iteration/iteration.factor
Fixing everything for mandatory stack effects
[factor.git] / extra / benchmark / iteration / iteration.factor
1 IN: benchmark.iteration
2 USING: sequences vectors arrays strings sbufs math math.vectors
3 kernel ;
4
5 : <range> ( from to -- seq ) dup <slice> ; inline
6
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 ;
13
14 : iter-main ( -- )
15     vector-iter
16     array-iter
17     string-iter
18     sbuf-iter
19     reverse-iter ;
20
21 MAIN: iter-main