I don't know what kind of guido's sorcery is this, but look for yourself:
```
Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def go_loop():
     6     20002       112887      5.6     46.9      for x in range(ITERATIONS):
     7     20000       127594      6.4     53.1          yield x ** 2

File: prof.py
Function: go_gene at line 9
Total time: 0.000388 s

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     9                                           @profile
    10                                           def go_gene():
    11         2          388    194.0    100.0      return (x**2 for x in range(ITERATIONS))

File: prof.py
Function: compare at line 13
Total time: 1.24844 s

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
    13                                           @profile
    14                                           def compare():
    15         1       538906 538906.0     43.2      list(go_loop())
    16         1        65201  65201.0      5.2      list(go_gene())
    17                                           
    18         1        95569  95569.0      7.7      list(go_gene())
    19         1       548760 548760.0     44.0      list(go_loop())
```
It does not seem so *marginal* after all O_o