78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
USING: classes classes.tuple kernel sequences vocabs math ;
 | 
						|
IN: benchmark.dispatch5
 | 
						|
 | 
						|
MIXIN: g
 | 
						|
 | 
						|
TUPLE: x1 ;
 | 
						|
INSTANCE: x1 g
 | 
						|
TUPLE: x2 ;
 | 
						|
INSTANCE: x2 g
 | 
						|
TUPLE: x3 ;
 | 
						|
INSTANCE: x3 g
 | 
						|
TUPLE: x4 ;
 | 
						|
INSTANCE: x4 g
 | 
						|
TUPLE: x5 ;
 | 
						|
INSTANCE: x5 g
 | 
						|
TUPLE: x6 ;
 | 
						|
INSTANCE: x6 g
 | 
						|
TUPLE: x7 ;
 | 
						|
INSTANCE: x7 g
 | 
						|
TUPLE: x8 ;
 | 
						|
INSTANCE: x8 g
 | 
						|
TUPLE: x9 ;
 | 
						|
INSTANCE: x9 g
 | 
						|
TUPLE: x10 ;
 | 
						|
INSTANCE: x10 g
 | 
						|
TUPLE: x11 ;
 | 
						|
INSTANCE: x11 g
 | 
						|
TUPLE: x12 ;
 | 
						|
INSTANCE: x12 g
 | 
						|
TUPLE: x13 ;
 | 
						|
INSTANCE: x13 g
 | 
						|
TUPLE: x14 ;
 | 
						|
INSTANCE: x14 g
 | 
						|
TUPLE: x15 ;
 | 
						|
INSTANCE: x15 g
 | 
						|
TUPLE: x16 ;
 | 
						|
INSTANCE: x16 g
 | 
						|
TUPLE: x17 ;
 | 
						|
INSTANCE: x17 g
 | 
						|
TUPLE: x18 ;
 | 
						|
INSTANCE: x18 g
 | 
						|
TUPLE: x19 ;
 | 
						|
INSTANCE: x19 g
 | 
						|
TUPLE: x20 ;
 | 
						|
INSTANCE: x20 g
 | 
						|
TUPLE: x21 ;
 | 
						|
INSTANCE: x21 g
 | 
						|
TUPLE: x22 ;
 | 
						|
INSTANCE: x22 g
 | 
						|
TUPLE: x23 ;
 | 
						|
INSTANCE: x23 g
 | 
						|
TUPLE: x24 ;
 | 
						|
INSTANCE: x24 g
 | 
						|
TUPLE: x25 ;
 | 
						|
INSTANCE: x25 g
 | 
						|
TUPLE: x26 ;
 | 
						|
INSTANCE: x26 g
 | 
						|
TUPLE: x27 ;
 | 
						|
INSTANCE: x27 g
 | 
						|
TUPLE: x28 ;
 | 
						|
INSTANCE: x28 g
 | 
						|
TUPLE: x29 ;
 | 
						|
INSTANCE: x29 g
 | 
						|
TUPLE: x30 ;
 | 
						|
INSTANCE: x30 g
 | 
						|
 | 
						|
: my-classes ( -- seq )
 | 
						|
    "benchmark.dispatch5" words [ tuple-class? ] filter ;
 | 
						|
 | 
						|
: a-bunch-of-objects ( -- seq )
 | 
						|
    my-classes [ new ] map ;
 | 
						|
 | 
						|
: dispatch-benchmark ( -- )
 | 
						|
    1000000 a-bunch-of-objects
 | 
						|
    [ f [ g? or ] reduce drop ] curry times ;
 | 
						|
 | 
						|
MAIN: dispatch-benchmark
 |