【发布时间】:2015-04-16 10:11:27
【问题描述】:
在Intel Intrisics Guide 上,对于大多数指令,它还具有延迟和吞吐量的值。示例:
__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
这些数字到底是什么意思?我想较慢的延迟意味着命令需要更长的时间来执行,但是 Nehalem 的吞吐量 1 和 Ivy 的 0.5,意味着命令在 Nehalem 上更快?
【问题讨论】:
-
现代核心有两个执行单元,可以同时执行指令。因此,如果阳光明媚,并且您的背上有风,并且您的程序将其中两个靠近在一起,那么它们都在一个循环中完成。让你的分析器看起来他们花了半个周期。
标签: c++ performance x86 sse simd