( The move-ordering is fairly important, as it improves the efficiency of the minimax search algorithm . )
The deque is using dynamic allocation/deallocation, which is probably where most of my CPU cycles were going.