20 lines
445 B
Factor
20 lines
445 B
Factor
USING: kernel sequences math math.functions vectors ;
|
|
IN: benchmark.stack
|
|
|
|
: stack-loop ( vec -- )
|
|
1000 [
|
|
10000 [
|
|
dup pop dup ! dup 10 > [ sqrt dup 1 + ] [ dup 2 * ] if
|
|
pick push
|
|
over push
|
|
] times
|
|
10000 [ dup pop* ] times
|
|
] times
|
|
drop ;
|
|
|
|
: stack-benchmark ( -- )
|
|
V{ 123456 } clone stack-loop
|
|
20000 <vector> 123456 over set-first stack-loop ;
|
|
|
|
MAIN: stack-benchmark
|