[Python-Dev] generators and ceval

Ron Adam ron3200 at gmail.com
Fri Dec 16 05:15:53 CET 2011


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.

http://bugs.python.org/issue13607

Altogether it made yields about 10% faster, and everything else about
2%-3% faster (on average).   But it does need to be checked.

Cheers,
   Ron




More information about the Python-Dev mailing list