]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/dawes/dawes.factor
Specialized array overhaul
[factor.git] / extra / benchmark / dawes / dawes.factor
1 USING: sequences kernel math specialized-arrays fry ;
2 SPECIALIZED-ARRAY: int
3 IN: benchmark.dawes
4
5 ! Phil Dawes's performance problem
6
7 : count-ones ( int-array -- n ) [ 1 = ] count ; inline
8
9 : make-int-array ( -- int-array )
10     120000 [ 255 bitand ] int-array{ } map-as ; inline
11
12 : dawes-benchmark ( -- )
13     200 make-int-array '[ _ count-ones ] replicate drop ;
14
15 MAIN: dawes-benchmark