]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/dispatch6/dispatch6.factor
factor: trim using lists
[factor.git] / extra / benchmark / dispatch6 / dispatch6.factor
1 USING: kernel math combinators ;
2 IN: benchmark.dispatch6
3
4 : dispatch6 ( n -- val )
5     {
6         { [ dup 0 eq? ] [ drop 0 ] }
7         { [ dup 1 eq? ] [ drop 1 ] }
8         { [ dup 2 eq? ] [ drop 2 ] }
9         { [ dup 3 eq? ] [ drop 3 ] }
10         { [ dup 4 eq? ] [ drop 4 ] }
11         { [ dup 5 eq? ] [ drop 5 ] }
12         { [ dup 6 eq? ] [ drop 6 ] }
13         { [ dup 7 eq? ] [ drop 7 ] }
14         { [ dup 8 eq? ] [ drop 8 ] }
15         { [ dup 9 eq? ] [ drop 9 ] }
16         { [ dup 10 eq? ] [ drop 10 ] }
17         { [ dup 11 eq? ] [ drop 11 ] }
18         { [ dup 12 eq? ] [ drop 12 ] }
19         { [ dup 13 eq? ] [ drop 13 ] }
20         { [ dup 14 eq? ] [ drop 14 ] }
21         { [ dup 15 eq? ] [ drop 15 ] }
22         { [ dup 16 eq? ] [ drop 16 ] }
23         { [ dup 17 eq? ] [ drop 17 ] }
24         { [ dup 18 eq? ] [ drop 18 ] }
25         { [ dup 19 eq? ] [ drop 19 ] }
26     } cond ;
27
28 : dispatch6-benchmark ( -- )
29     20000000 [
30         20 [
31             dispatch6 drop
32         ] each-integer
33     ] times ;
34
35 MAIN: dispatch6-benchmark