小编Djo*_*vic的帖子

这个C循环可以进一步优化吗?

我大声尖叫.这真让你好奇.

我担心如果我选择"赞成大小超速"会发生什么.

设置:Visual Studio 2010

<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
Run Code Online (Sandbox Code Playgroud)

如何:

for (i = 0; i < some_num; i++)
{
    one += buf[i] * buf[i];     
    two += buf[i] * buf[off+i];
}
Run Code Online (Sandbox Code Playgroud)

翻译成这个:

131:    for (i = 0; i < some_num; i++)
132:    {
133:        one += buf[i] * buf[i];
00404B40  movss       xmm0,dword ptr [eax-4]
00404B45  movss       xmm7,dword ptr [esp+18h]
00404B4B  movss       xmm2,dword ptr [eax]
00404B4F  cvtps2pd    xmm3,xmm2
00404B52  movss       xmm4,dword ptr [eax+4]
00404B57  cvtps2pd    xmm1,xmm0
00404B5A  mulsd       xmm3,xmm3
00404B5E  movss …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction optimization sse simd

3
推荐指数
1
解决办法
1072
查看次数

标签 统计

c ×1

compiler-construction ×1

optimization ×1

simd ×1

sse ×1