20 lines
		
	
	
		
			488 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			488 B
		
	
	
	
		
			Factor
		
	
	
| ! Copyright (C) 2012 John Benediktsson
 | |
| ! See http://factorcode.org/license.txt for BSD license.
 | |
| USING: kernel math memoize sequences ;
 | |
| IN: benchmark.memoize
 | |
| 
 | |
| MEMO: mem0 ( -- ) ;
 | |
| MEMO: mem1 ( n -- n ) 1 + ;
 | |
| MEMO: mem2 ( n n -- n ) + ;
 | |
| MEMO: mem3 ( n n n -- n ) + + ;
 | |
| MEMO: mem4 ( n n n n -- n ) + + + ;
 | |
| 
 | |
| : memoize-benchmark ( -- )
 | |
|     1000 [
 | |
|         1000 <iota> [
 | |
|             mem0 [ mem1 ] keep [ mem2 ] 2keep [ mem3 ] 3keep mem4 drop
 | |
|         ] each
 | |
|     ] times ;
 | |
| 
 | |
| MAIN: memoize-benchmark
 |