Hi Mark,
Checking the stop conditions takes very little computation time. I would be surprised if you notice a significant performance boost by not checking them after every search step. If you want, you could measure this, I am interested to see the results.
We also check stop conditions every second, because some searches have very long steps, or even only a single step (e.g. basis parallel search). For those searches, checking after every step is not sufficient, as we may need to abort the ongoing step if a termination request is received.
Does this answer your question?
Herman