Hacker News new | ask | show | jobs
by nullc 4310 days ago
What cpu? some of the earlier hyperthreaded systems were notably less effective than the current stuff.

The simple explanation is that you have a core with its set of execution resources. Instead of using those resources to satisfy just a single execution context the processor has two execution contexts, which run independently of each other sharing the resources. This can potentially result in large gains when you have a workload which often leaves a execution stalled waiting on ram, though less than you might guess because there are overheads and because modern processors are already able to extract a fair amount of parallelism out of a single thread.

It works out less well for software that sees non-trivial overhead when running more threads, or when more threads increase cache pressure too much.