Intel oder AMD?

Worauf ich hinaus will, ist, dass die Performancewaage bei einem Mix-Szenario eben nicht ausbalanciert ist. Es stehen rund 10% mehr Single-Core Leistung gegen 20% mehr Multi-Core Leistung beim 2700X. Und das soll gemixt jetzt was ergeben? Einen klaren Sieger sehe ich da nicht.

Wenn es aber wirklich rechenlastig/performancekritisch ist, dann ist der Workload wohl eher nicht single-threaded. Schon mal gar nicht perspektivisch.

Meiner Meinung nach ist die Reakitivät eines UI ein kritischer Bereich für Single-Core Leistung. Aber was machen da schon 10%? Außerdem geht man da auch immer mehr auf asynchron, weil IO doch meistens limitiert.
 
OK, unter welchen Bedingungen kann der Compiler nur auf einem Kern arbeiten?

Das kommt ganz auf den Code an. Es werden zuerst immer alle Module gebaut die nicht voneinander abhängen und dann nach Abhängigkeit nimmt die Last über die Kerne verteilt ab. Im günstigsten Fall merkst Du davon nicht viel. Im ungünstigsten Fall hast Du nur eine kurze Phase wo alle Kerne ausgelastet sind und dann eine sehr lange Phase wo nur ein Kern arbeitet und die anderen Kerne zuschauen.

Nehmen wir ein anderes Beispiel wie z.B. Third-Party-Software. Du arbeitest mit einer Video-Compositing Software wie Nuke/After Effects. Dein Kunde möchte jetzt aber einen bestimmten Effekt sehen, den er/sie bei xyz schonmal gesehen hat. Du findest diesen Effekt und installierst diesen als Plugin nach. Leider ist es nur Alpha/Beta Schrott und lastet nur einen Kern aus.

Anwendungssoftware ist ein sehr breites Feld. Du hast da immer wieder andere Situationen. Ein gutes Beispiel dafür ist z.B. Matlab. Ich weiß nicht, ob Du die Software kennst aber es ist mit eines der bekanntesten Programme zur Lösung mathematischer Probleme.

Computers with more CPU cores can outperform those with a lower core count, but results will vary with the MATLAB application. MATLAB automatically uses multithreading to exploit the natural parallelism found in many MATLAB applications. But not all MATLAB functions are multithreaded, and the speed-up varies with the algorithm. For additional capability, Parallel Computing Toolbox offers parallel programming constructs that more directly leverage multiple computer cores.

MATLAB performance is dependent on the presence of floating-point hardware. On many CPUs, the number of Floating-Point Units (FPUs) equals the number of CPU cores. However, on some processors, a single FPU may be shared between multiple CPU cores, potentially creating a performance bottleneck.

Virtual cores may modestly improve overall system performance, but they are likely to have little effect on the performance of MATLAB applications. Intel CPUs with hyper-threading give the appearance that a computer has twice as many cores than it actually has. When using a tool such as Windows Task Manager, MATLAB may appear to use only half of the CPU cores available on the computer, when in fact the "unused" half is actually the virtual cores created by hyper-threading.

Matlab nutzt unter Umständen keine logischen Prozessoren und ist stark abhängig von FPU's. Hier kann man dann vielleicht sogar zum i5 raten, wenn man Budget optimiert einkaufen möchte.
 
Ich kenne Matlab ziemlich gut. Ich nutze es im Grunde nur zur Validierung von Algorithmen. Produktiv würde ich bespielsweise Standalone niemals einsetzen. Außerdem kostet die Compiler Toolbox ein Vermögen. Da spielen die Kosten der CPU keine Rolle.
 
Zurück