Some month ago , I rewrote my engine Isa with a bitboard move generator (classical approach , no magics)
I wrote it from scratch , for a bitboard learning purpose (as I'm a newbie in the strange bitboards world)
My original Isa started from firstchess.c .
After some aspirin ( ) I've finaly got a working version .
The movegen is good , validated by perft , so no problem.
But the problem is :
It is slower than my classical array based engine Isa
Look at the perft 6 results from the starting position :
Code: Select all
Isa Bitboards:
Perft 1 nodes = 20 0 ms
Perft 2 nodes = 400 0 ms
Perft 3 nodes = 8902 0 ms
Perft 4 nodes = 197281 78 ms
Perft 5 nodes = 4865609 1685 ms
Perft 6 nodes = 119060324 33119 ms
Code: Select all
Isa normal :
Perft 1 nodes = 20 0 ms
Perft 2 nodes = 400 0 ms
Perft 3 nodes = 8902 0 ms
Perft 4 nodes = 197281 50 ms
Perft 5 nodes = 4865609 1327 ms
Perft 6 nodes = 119060324 28533 ms
Tried to start to play at 5 seconds per moves
There is not much diference , but again the Isa bitboards is slower :
Code: Select all
Isa bitboards :
d score time nodes PV
1 50 0 20 b1c3
2 0 0 158 b1c3 b8c6
3 50 0 710 b1c3 b8c6 g1f3
4 0 0 1488 b1c3 b8c6 g1f3 g8f6
5 35 0 10202 g1f3 b8c6 b1c3 g8f6 d2d4
6 0 0 39670 b1c3 b8c6 d2d4 g8f6 g1f3 d7d5
7 24 0 480679 d2d4 g8f6 g1f3 d7d5 b1c3 b8c6
8 0 4 2151544 b1c3 b8c6 g1f3 d7d5 d2d4 g8f6 c1f4 c8f5
Code: Select all
Isa normal :
d score time nodes PV
1 50 0 20 b1c3
2 0 0 87 b1c3 b8c6
3 50 0 589 b1c3 b8c6 g1f3
4 0 0 2114 b1c3 b8c6 g1f3 g8f6
5 35 0 13279 b1c3 b8c6 g1f3 g8f6 d2d4
6 0 0 36612 b1c3 b8c6 g1f3 g8f6 d2d4 d7d5
7 26 0 237742 e2e4 d7d5 e4e5 b8c6 g1f3 d5d4 b1a3
8 2 2 806140 e2e4 b8c6 g1f3 g8f6 e4e5 f6g4 d2d4 d7d5
https://github.com/Dany1962/Isa-bitboards
As I wrote previously , I'm a newbie in bitboards , so , it would be kind if some bitboards experts could look at my code
Thanks in advance