Hi, I Just added issue 13607 with a patch that removes the generator specific checks and code out of the ceval PyEval_EvalFrameEx() function.
Those parts where moved up into the generator gen_send_ex() function.
Doing that removed the generator flag checks from the eval loop and made it a bit cleaner. In order to do that, I needed to give generators a why to look at the 'why' value. Doing that also cleaned up the code in gen_sendex() as it can use the 'why' in a select instead of several indirect if tests.
Altogether it made yields about 10% faster, and everything else about 2%-3% faster (on average). But it does need to be checked.