[citation][nom]mcd023[/nom]I know some guys have already responded, but this is how I explain it, maybe someone might find this useful.It GHz race was like having a brick layer who could lay, say, 10 bricks per minute. We tried to get more done by having him work faster, but he started getting really hot and it was hard work. Then, they (manufacturers) brought in another guy that could do 50%-75% of the one guy and now both of them lay 7 bricks per minute at a reasonable pace. They use less energy b/c they don't have to work as fast (diminishing returns as you go faster), and you still get an extra 4 bricks per minute. Same thing with going to quad core.[/citation]
OK, I've got to expand on this analogy
.
It's actually closer to this. Every couple years the number of brick layers you have available doubles. For a long time (in the GHz days), we kept subdividing the brick laying task so that we could lay bricks faster. When you have two people, one person pours and lays mortar, the other lays bricks. With four people, one person mixes mortar, one lays mortar, one lays bricks, and one levels. This went on for some time, but eventually, it became hard to subdivide the task any more, and the people started getting exhausted from running from one brick to another
.
So instead of subdividing the brick laying tasks, we now have separate teams of brick layers. In fact, we have sub teams within the teams, some of which are specialized in different types of bricks, etc. The downside is that you can't just tell them all to work on one project any more, you need to give different projects to each team.