I am interested in what is done to not mine an empty block.
We know there is a time factor involved here.
Ie a block solved 1 second after the last block won't have a lot of tx in it.
So if a big pool solves quickly due o to lots of hash they would be more likely to have tiny blocks
As I've pointed out It is rare for the mempool to be empty.
Also, when a pool does empty it, there will be new transactions added between the time the work was sent to the miner and the time the miner found the block.
Edit: I've removed some of the irrelevant banter.
My KDB pool code reports ANY work generated that is ever empty, of the work generated once every 30 seconds over the years.
Over the life of my pool, that would amount to less than you can count on one hand.
This, of course, is the same work that is available to EVERY pool at the same time, not just my pool.