Use bitboards. Storing the board as a couple of unsigned long longs and using bitwise operators on them for maximum performance. Approximately 3x performance improvement in best cases.
Use bitboards. Storing the board as a couple of unsigned long longs and using bitwise operators on them for maximum performance. Approximately 3x performance improvement in best cases.