Does CreateNewBlock currently take longer to execute if there are more TXs in a miner's mempool to pick from? If so, this would add credence to Cypherdoc's hunch that miner's are producing more empty blocks when mempool swells.
Yep,
I already pointed that out to you specifically! It's superlinear in the mempool size (well, ignoring caching) But thats unrelated to f2pool/antpool and the other SPV miners, as they're not ever calling createnewblock in that case, as they're mining without even validating. One can mine on a validated chain with no transactions while waiting for createnewblock (which is what eligius does, for example).
I also pointed out that this is trivially optimizable, but no one has bothered previously.
Wait, how is an empty block created without calling createnewblock? Is there a createemptyblock thingy or what?