A great post from Jakob Nielsen. I can particularly relate to this bit:
0.1 second is the response time limit if you want users to feel like their actions are directly causing something to happen on the screen. For example, if you click on an expandable menu and see the expanded version in less than 0.1 seconds, then it feels as if you made the menu open up. If it takes longer than 0.1 seconds for the revised state to appear, then the response doesn’t feel “instantaneous” — instead, it feels as if the computer is doing something to make the menu open.
I know how that feels: I’ve played online games with a latency of half a second, which is painful.