W przypadku większości instrukcji dla Intel Intrisics Guide ma również wartość opóźnienia i przepustowości. Przykład:Przepustowość SIMD
__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
Co dokładnie oznaczają te liczby? Myślę, że wolniejsze opóźnienie oznacza, że wykonanie polecenia zajmuje więcej czasu, ale przepustowość 1 dla Nehalem i 0,5 dla bluszczu oznacza, że polecenie jest szybsze w Nehalem?
Nowoczesne rdzenie mają * dwie * jednostki wykonawcze, które mogą wykonywać instrukcję w tym samym czasie. Więc jeśli świeci słońce i masz wiatr w plecach, a twój program ma dwa z nich blisko siebie, to oboje kończą w jednym cyklu. Sprawiając, że twój profiler wygląda, że zajęło mu to pół cyklu. –