Over the last month I have been focusing on increasing the performance of the move generation code in my Chess Engine. Based on my tests I believe I have gained about a 25% speed improvement in move generation.
The largest speed gain came from the removal of the Board Column and Board Row members from the Board Square class. I came to a realization that I have been storing the same information about the position of the chess piece 2 times. Once in the Board class via the 64 square array indexers and once in the Board Square class in the Board Column and Row variables. Although having the Board Column and Row specifically in the Board Square class made it much easier to understand my code, at the end the performance loss was not worth it.
Unfortunately this means that I have to modify some of the code listings in previous entries so that the next sections will make sense. I will eventually also modify the Chess Game Starter Kit to include the newer faster code.
Until then if you are waiting for the next sections of the chess engine, please be patient until I finish updating the previous entries.
2008-Dec-06 Performance Reconstruction is now complete (at least for now)