Die Rechenleistung ist, auch wenn der Prozessor natürlich weiterhin mit 2Ghz taktet, bei einem DualCore Prozessor nahezu verdoppelt.
Das Hauptproblem, weshalb sich die Leistung aber in einer Anwendung nicht verdoppelt, vermute ich in der Aufteilung der Aufgaben.
Ein Thread kann nunmal nur in einem Kern gleichzeitig bearbeitet werden.
Also müssen wir unsere Aufgaben schonmal in mindestens 2 Threads aufteilen, damit man überhaupt irgendwie 2 Kerne gleichzeitig ans Rechnen kriegt.
Es muss also 2 Berechnungsstränge geben, die komplett unabhängig voneinander berechnet werden können. Man also kein Ergebnis der ersten Stranges als Parameter für den zweiten Strang braucht.
Das wird dann wahrscheinlich meistens dazu führen, dass ein "Hauptthread" sich als der Aufwendingste herausstellt und alle anderen meist deutlich weniger aufwendig sind, da einfach nicht genügend unabhängige Berechnungen durchführbar sind.
Also haben wir einen Thread, der nunmal nur auf einem Kern gleichzeitig ausgeführt werden kann und einen oder mehrere weniger aufwendigere Thread.
Am Ende sind wir dann so schnell, wie der langsamste Thread.
Haben wir also nur einen Thread, ist es egal, ob er auf einem Single, Dual oder OctaCore berechnet wird.
Kommt nun aber noch ein weiterer Thread dazu, so kann dieser auf dem zweiten Kern berechnet werden, was den Kern, der den aufwenigsten Thread berechnet, entlastet.
Schneller als der Hauptthread kann das Programm aber trotzdem nicht laufen, der Kern mit dem einfacher zu berechnenden Thread liegt also zum Teil brach.
Es kann natürlich auch so sein, dass alle einfacheren Threads zusammen für Kern 2 aufwenidiger sind, als der Hauptthread für Kern 1. In diesem Fall würde dann beispielsweise ein QuadCore Sinn machen, da in dem Fall Threads auf die Kerne 3 und 4 ausgelagert werden können.
Sobald jedoch ein Thread so aufwenig ist, dass er einen Kern alleine auslastet, bringen dir weitere Kerne nichts.
Wie gesagt, es ist nur eine Vermutung, aber für mich die einleuchtenste Erklärung neben anderen Falschenhälsen wie Anbindungen (RAM, FSB...).