Earlier quoted context omitted.
Wouldn't it be better to delay the appearance of the spinner, so it doesn't show at all for those fast operations?
You can still end up with the jarring flash. Say you delay 100ms--if the action takes 120ms, you have the same problem.
It's a real case, actually. I don't remember a name, but I've encountered this situation in the past, and that brief flash of a "in progress" marker was what I used to determine whether me clicking a "retry" button actually did something, or whether the input was just ignored. It's one of those unexpected benefits of predictability of UI coding; the less special cases there are, the better.