]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/stack/stack.factor
factor: more using trim
[factor.git] / extra / benchmark / stack / stack.factor
1 USING: kernel sequences math vectors ;
2 IN: benchmark.stack
3
4 : stack-loop ( vec -- )
5     1000 [
6         10000 [
7             dup pop dup ! dup 10 > [ sqrt dup 1 + ] [ dup 2 * ] if
8             pick push
9             over push
10         ] times
11         10000 [ dup pop* ] times
12     ] times
13     drop ;
14
15 : stack-benchmark ( -- )
16     V{ 123456 } clone stack-loop
17     20000 <vector> 123456 over set-first stack-loop ;
18
19 MAIN: stack-benchmark