I read somewhere that to optimize move generation for a chess engine it's good to have fast detection of position where one side is checked (to eliminate illegal moves).
The author suggested that check detection could be improved slightly by having the code test for common checks which happen first. However, they didn't give anymore insight than that.
I reasoned that my code for check detection should look for checks coming from the opponent's side of the board. Other than that though I couldn't think of anything else. This lead me to ask the following question:
What are the most common checks which occur in chess?
For example, are checks from queens more likely than checks from knights? Are certain diagonals more prone to checks than files?
Advice for methods I could use to answer this question in the comments would also be appreciated