Auf der Intel Intrisics Guide für die meisten Anweisungen hat es auch einen Wert für Latenz und Durchsatz. Beispiel:SIMD Latency Durchsatz
__m128i _mm_min_epi32
Performance
Architecture Latency Throughput
Haswell 1 0.5
Ivy Bridge 1 0.5
Sandy Bridge 1 0.5
Westmere 1 1
Nehalem 1 1
Was genau bedeuten diese Zahlen? Ich denke, eine langsamere Latenz bedeutet, dass der Befehl länger dauert, aber Durchsatz 1 für Nehalem und 0,5 für Ivy bedeutet, dass der Befehl auf Nehalem schneller ist?
Moderne Kerne haben * zwei * Ausführungseinheiten, die den Befehl zur gleichen Zeit ausführen können. Wenn also die Sonne scheint und der Wind in deinem Rücken ist und dein Programm zwei davon nahe beieinander hat, dann schließen beide in einem einzigen Zyklus ab. Damit es für Ihren Profiler aussah, dass sie einen halben Zyklus dauerte. –