Amazingly it turns out to be ~2x faster than qperft on my 32-bit opteron@2500:
Code: Select all
>qperft 7
Quick Perft by H.G. Muller
Perft mode: No hashing, bulk counting in horizon nodes
perft(1)=20 ( 0.000 sec)
perft(2)=400 ( 0.000 sec)
perft(3)=8902 ( 0.000 sec)
perft(4)=197281 ( 0.015 sec)
perft(5)=4865609 ( 0.156 sec)
perft(6)=119060324 ( 3.922 sec)
perft(7)=3195901860 (102.016 sec)
>i-perft 7
perft 1           20     0.00s    1.$ mnps  851.4 ticks/op
perft 2          400     0.00s    1.$ mnps   48.8 ticks/op
perft 3         8902     0.00s    1.$ mnps   33.5 ticks/op
perft 4       197281     0.02s   12.3 mnps   33.3 ticks/op
perft 5      4865609     0.06s   78.5 mnps   32.5 ticks/op
perft 6    119060324     1.56s   76.2 mnps   33.3 ticks/op
perft 7   3195901860    41.36s   77.3 mnps   32.7 ticks/op
>qperft 6 "r3r1k1/1pq2pp1/2p2n2/1PNn4/2QN2b1/6P1/3RPP2/2R3KB b - -"
perft(1)=56 ( 0.000 sec)
perft(2)=2594 ( 0.000 sec)
perft(3)=137198 ( 0.000 sec)
perft(4)=6391735 ( 0.171 sec)
perft(5)=323787902 ( 7.797 sec)
perft(6)=15097513050 (389.578 sec)
>i-perft 6 "r3r1k1/1pq2pp1/2p2n2/1PNn4/2QN2b1/6P1/3RPP2/2R3KB b - -"
perft 1           56     0.00s    1.$ mnps  296.5 ticks/op
perft 2         2594     0.00s    1.$ mnps   30.9 ticks/op
perft 3       137198     0.00s    1.$ mnps   18.7 ticks/op
perft 4      6391735     0.06s  103.1 mnps   20.4 ticks/op
perft 5    323787902     2.41s  134.5 mnps   18.8 ticks/op
perft 6  15097513050   124.05s  121.7 mnps   20.8 ticks/op

