Allow me to answer in terms of integrated vs. modular architectures: they were fast enough when Java's virtual machine became viable, when .Net's virtual machine became viable, when interpreted scripting languages (Javascript, Python, Ruby) became viable.
Basically, whenever an extra layer that soaked up performance in return for other benefits (such faster development time, better error checking, more flexibility, easier, more intuitive) was actually adopted by real people, it meant that the computer was fast enough in their opinion to trade some of that fastness for other benefits.
relevant: http://xkcd.com/676/