Visual Studio 11开发指南(18)C++11更新-自动矢量器使用

Visual Studio 11引入了自动矢量器,利用SIMD指令提高循环性能,特别是在X86和X64处理器上。编译器默认启用这一优化,但可通过项目属性禁用。测试显示,自动矢量化的性能提升显著,尤其是在大量迭代的循环中。此外,VS11还支持/Qpar指令以启用多核并行处理,并引入了加速C++的大规模并行处理(AGP)功能,允许利用GPU进行计算。开发者可以下载VS11体验这些新特性。
摘要由CSDN通过智能技术生成
自动矢量器使用

在 MSDN 文档中,现在编译器自动性能方面的原因是有能力的"概述"循环和支持 SIMD 指令,这是大多数情况下调用自动性能的话,对于所有 X 86 处理器 / X 64 现代的处理器中运行的速度要快 8 倍

与 Visual Studio 11 的预览版本中,SIMD 指令和概述记录是自动优化使用。

与 Visual Studio 2010 年 c/c + + 中下面的循环

 

1.for (int i=0;i <MAX_;i++)
2.    {
3.        a[i]=i*7.0;
4.    }


 

给出下面的汇编程序代码用于指令和寄存器操纵的浮点数。(fld、 fmul、 fstp、 fstp、 ST (1) (0)、 ST ))

1.; 38   :     for (int i=0;i <MAX_;i++)
2. 
3.    fld    QWORD PTR __real@401c000000000000
4.    add    esp, 4
5.    mov    esi, eax
6.    xor    eax, eax
7.    mov    DWORD PTR _i$83361[ebp], eax
8.$LN3@wmain:
9. 
10.; 39   :     {
11.; 40   :         a[i]=i*7.0;
12. 
13.    fild    DWORD PTR _i$83361[ebp]
14.    inc    eax
15.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值