Since 3.6, queries seem to be way faster, but CPU usage is still high.
I believe that this is due to the short iteration times. Shorter query times just mean more queries, so the CPU usage remains high. For instance, for scheduling only 2 seconds elapse between one round and the next.
The optimizer round time is already configurable, and the staging, so other time intervals (as this one) should be too.