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 |