Wizkid057 reported getbestblockhash polling was frequently beating blocknotify, sometimes by 2 seconds. Under the theory that getting cs_vNodes and running running PushInventory for all peers was sometimes taking a while or UpdatedBlockTip (see below), I suggested moving up the notify. He reported doing so made it consistently faster.
I think it’s reasonable to signal blocknotify first: All it does is fire off a new thread, so it should never block.
This does not move up GetMainSignals().UpdatedBlockTip() which because that signal includes the wallet, and if there is a wallet with many keys the wallet processing of a block can be quite slow. Unfortunately, it also sends out the ZMQ notify.