system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Clock Speeds and/vs Cores in computers

Clock speed as in 2.0GHz and cores as in dual core, quad core, etc.

What do they mean? What is better? Why?

Ex. What's better, an i3 2.3GHz or i7 1.6GHz? Or a Dual core 3.4GHz or i7 1.6GHz? Feel free to use analogies, they help.

Bonus question: What does "multi-thread" or "threading" mean?

ELI5, please and thank you!
gpt
Not exactly for a 5-year old but simplified anyway:

Imagine a "core" as a workbench full of tools, plus a guy working. A cpu is a "team" of guys, the number of cores decides how big each team is. Now, each guy needs some tools to work. Every "core" has a full workbench, but each guy might not use all the tools at the same time. So, Intel came up with the idea to put two guys at one workbench. They call that "hyperthreading".

AMD invented something different. They figure that most guys will use a drill, hammer and screwdriver most of the time (so if you have only one of those the guys will have to sit idle quite often due to the other guy using it) but they only use a router and circular saw occasionally, so they made a "module" with two guys and nearly two full workbenches, but with the really expensive tools only once. So it's a bit like Intels idea, but they have nearly the full workbench doubled up.

So, to get a few examples:

- A server with two new i7-3960 has two teams of twelve guys, where each team has 6 work benches full of tools.
- A workstation with a i7-2700k has one team with eight guys, working with four workbenches full of tools. 
- A computer with a FX8150 has one team with eight guys and four workbenches, but with eight full sets of basic tools.
- A computer with a i3-2100 has one team with two guys and two workbenches.

Now, not all guys are created equal. For each "generation" there's a design that decides how much they do per time unit, called an "architecture". Intel's newest architecture is a generation of the "core" architecture, called Sandy Bridge. AMD has recently introduced a new architecture called "bulldozer" with each processor being of the "zambezi" generation. For each generation of each architecture, you can't really compare clock speeds directly - to put into analogy, a Zambezi guy will be quick at working with a drill but will be slower with a hammer, where a Sandy Bridge guy might be faster with a hammer and circular saw but slower with a drill. You can compare Sandy Bridge guys directly though.

So now we can see through the "marketing" part - the names "FX", "i7", "i5" and so on. They are just a rough indication of speed but don't actually mean anything about the processor's actual qualifications.

You can directly compare an i3-2100, i5-2500 and i7-2700 though. They are all Sandy Bridge. If you take an i7-2700 and disable cores / hyperthreading so only two cores remain, and then clock it identical to an i3-2100 it should perform exactly the same. You can't compare the i7-2700 to an i7-965 though - the first of them is of the Sandy Bridge generation and the second is of the Nehalem generation.

Then there's the actual subjective "how fast is it then". That depends on a lot of things for each application:

- How many guys can work in parallel
- How much they need their drills
- How much they need the circular saws
- In how far they need to cooperate closely
- How fast each guy works (and they can work at different speeds despite being in one team!)
- How hot the room is - they slow down during the very hot days to not break down.
- What kind of work they're doing exactly and in what order they do it

So to find out, you essentially have to benchmark each program separately. There are some limits:

- Some applications are not multithreaded enough so some guys will just be sitting without work to do.
- Some applications use circular saws very much and will work badly on Bulldozers (the "circular saw" is the floating-point calculation thingy in the analogy)
- Some applications use drills a lot and will be slow on Sandy Bridges when compared to Bulldozers (heavy integer calculations, for example, should be a lot faster on the AMD series)
- Some applications will try to do multiple things in parallel but don't tell the guys to work together very well, so they occasionally drop tools on each others feet or "lose" bits of work in trying to pass it to each other. This results in games crashing on multi-core machines but running fine on single-core machines - a single guy does not fail to cooperate with himself.
- Some applications will be slower when running on a processor with hyperthreading. They share a toolbench so if they need to use the same tools and the bench all the time, they'll spend more time waiting for each other and swapping than one of them would just doing it all by himself.