The argument getter blocks are O(n) where n is the stack frame depth since the last custom block call. The effect is only really significant at unreasonably big depths but it is real. Start sound is used to evaluate the argument reporter and then discard the result. As long as the sprite has no sounds, this is the fastest way to do that (faster than setting to a temporary variable). To show that the performance difference between the "depth" runs is only due to the argument reporter, I also include "baseline" runs that are the same but without the argument getter which should all be basically the same. This shows any time deltas in the "depth" runs must be from the argument reporter.