Ack. I've never been able to wrap my head around iterate and it's non-standard, so I ignore it. (I also ignore the pretty printer because I don't understand it, even though it is standard.)
I did this 20 years ago. My allocator had multiple regions (slabs) that were tuned to specific allocation patterns and lifetimes, with different algorithms for managing block size, fragmentation handling, and freeing. We could turn on detailed allocation/free logging, which included the file/line the action took place. From this we could put the system under load and then identify allocation hotspots and build models on block size and lifetimes and tune the allocators from that. It was pretty cool.
Compiler vendors have been doing stuff like this (recognizing specific code patterns from common benchmarks) for 30 years, back in the days when there was real competition amongst C compilers (Borland vs. Zortech, for example.)
Yup. But the HN discussion of this one seemed to be treating it as an instance of compilers being terribly clever to benefit their actual users, rather than yet another benchmark hack.
The symbolism implicit in the characters used in APL is lost with J/K/Q and any other ASCII variant. I highly recommend reading Ken Iverson's Turing Award Lecture too.
If you don't want loop, you can always use iterate. :-)