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