Four things that might be helpful, in this case, and in general for
optimizing Racket code:
1. Use statistical profiler to see who is actually eating the time:
http://doc.racket-lang.org/profile/index.html Increasing the sampling
resolution can help.
2. Use DrRacket "Macro Stepper" to see exactly how the code expands. I
often just hit the "End" button, rather than stepping through.
Adjusting "Macro hiding" thing at the bottom of the window can also help.
3. Look at implementation of "generator" in the Racket source code.
4. Sam's disassembler:
http://lists.racket-lang.org/dev/archive/2011-January/005321.html
Neil V.