Para obter alguns conhecimentos básicos sobre segmentação, núcleos de CPU e hyperthreading, convém ler a pergunta
Now if i write a heavy number crunching program that runs 4 threads simultaneously how will this E5700 processor handle 4 threads simultaneously using its 2 cores and 2 threads
O número de threads que seu aplicativo requer é irrelevante - eu posso escrever um programa que inicie 1000 threads, e todos eles rodem no mesmo horário. A chave aqui é o seu programador do sistema operacional , que executa cada thread em um núcleo de CPU específico para uma unidade específica de tempo (a ordem na qual os encadeamentos são executados e em qual núcleo depende do algoritmo de agendamento).
Compared to a processor like the Intel® Core™ i3-3110M Processor (3M Cache, 2.40 GHz) with hyperthreading which has 2 cores but 4 threads
É impossível comparar o desempenho do aplicativo com um processador similar, embora com hyperthreading. Os aplicativos precisam ser especificamente otimizados para isso (uma vez que ainda há apenas metade do número de núcleos físicos, pois há lógica). Em alguns casos, os aplicativos podem ser executados mais rapidamente com o hyperthreading desativado (embora muitos aplicativos façam se beneficiarem dele). Independentemente do hyperthreading, um aumento no número de núcleos físicos irá sempre beneficiar multithreaded aplicações.
Por último, você está comparando um E5700 e um i3 3110m. Estas são duas arquiteturas de processadores diferentes (não completamente, mas são diferentes); eles têm recursos diferentes e comprimentos de pipeline desiguais 1 2 . Há mais a considerar aqui do que apenas o número bruto de núcleos de processador, mas, para os propósitos desta discussão, você pode ignorá-los e apenas ler o que escrevi acima.
- J. De Gelas, "The Bulldozer Aftermath: Delving Even Deeper". AnandTech , pp.2.
- Manuais do desenvolvedor de software das arquiteturas Intel® 64 e IA-32 Vol. 1, ch. 2, Sec.2.3 - Microarquitetura Intel® Core ™