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
|