I've seen explanations of the three different "speeds" for Scratch. There's regular speed, Turbo speed, and the speed running a stack in a custom block. So that's the four speeds ("Three sir!" - sorry, old Monty Python joke). It occurred to me that I had not seen any discussion of the two "Regular" speeds. There's the looping through the stacks speed you get when a loop doesn't update the screen and the speed you get when something (potentially) updates the screen. So, what blocks trigger the slower looping speed and is that list consistent between Scratch 2 and Scratch 3? But actually this project does nothing to answer that question. It just shows that the robot can do some high-speed computation while the bunny moves across the screen -- stopping when the bunny hits him.
This is Jens' remix of johnm's project (and neither probably care that I've remixed this because they have each gone on to write their own version of a Scratch-like IDE. Strange but true). The bunny is from Bunny Escape! by @smartcutecandy This project does not work on Scratch 3. https://beta.scratch.mit.edu/#249569227