自动矢量器使用
在 MSDN 文档中,现在编译器自动性能方面的原因是有能力的"概述"循环和支持 SIMD 指令,这是大多数情况下调用自动性能的话,对于所有 X 86 处理器 / X 64 现代的处理器中运行的速度要快 8 倍**。**
与 Visual Studio 11 的预览版本中,SIMD 指令和概述记录是自动优化使用。
与 Visual Studio 2010 年 c/c + + 中下面的循环
~~~
for (int i=0;i <MAX_;i++)
{
a[i]=i*7.0;
}
~~~
给出下面的汇编程序代码用于指令和寄存器操纵的浮点数。(**fld、 fmul、 fstp、 fstp、 ST (1) (0)、 ST** ))
~~~
for (int i=0;i <MAX_;i++)
fld QWORD PTR __real@401c000000000000
add esp, 4
mov esi, eax
xor eax, eax
mov DWORD PTR _i$83361[ebp], eax
$LN3@wmain:
{
a[i]=i*7.0;
fild DWORD PTR _i$83361[ebp]
inc eax
mov DWORD PTR _i$83361[ebp], eax
fmul ST(0), ST(1)
fstp QWORD PTR [esi+eax*8-8]
cmp eax, 100000000 ; 05f5e100H
jl SHORT $LN3@wmain
}
~~~
Visual Studio 11 在相同的环路循环中,**在默认情况下,**下面的代码是在汇编程序的特定的跟踪记录代码实现。(**movsd、 超低、 cvtdq2pd、 xmm0、 xmm1** ))
~~~
for (int i=0;i <MAX_;i++)
movsd xmm1, QWORD PTR __real@401c000000000000
add esp, 4
mov esi, eax
xor ecx, ecx
npad 5
$LL9@wmain:
{
a[i]=i*7.0;
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
inc ecx
mulsd xmm0, xmm1
movsd QWORD PTR [esi+ecx*8-8], xmm0
cmp ecx, 100000000 ; 05f5e100H
jl SHORT $LL9@wmain
}
~~~
是可能要禁用此功能吗?
是不足以转到该属性的 c + + 项目, 。代码生成。启用增强指令集**和选择**号增强说明 (/ 拱: IA32) (默认情况下,它是**没有设置**,这意味着是否启用了自动矢量化角),如下图所示
[![image](https://box.kancloud.cn/2016-04-01_56fdf1507a0d6.png "image")](http://www.microsofttranslator.com/bv.aspx?from=fr&to=zh-CHS&a=http%3A%2F%2Fblogs.msdn.com%2Fcfs-file.ashx%2F__key%2Fcommunityserver-blogs-components-weblogfiles%2F00-00-01-46-55-metablogapi%2F8422.image_5F00_16BD87FD.png)
在测试机器,未设置,对应: SSE2.
它是影响性能吗?
是对 1 万的迭代循环,看下优化以后的效果
没有说明
[![image](https://box.kancloud.cn/2016-04-01_56fdf1509269f.png "image")](http://www.microsofttranslator.com/bv.aspx?from=fr&to=zh-CHS&a=http%3A%2F%2Fblogs.msdn.com%2Fcfs-file.ashx%2F__key%2Fcommunityserver-blogs-components-weblogfiles%2F00-00-01-46-55-metablogapi%2F1072.image_5F00_455390DF.png)
说明
[![image](https://box.kancloud.cn/2016-04-01_56fdf150aaef9.png "image")](http://www.microsofttranslator.com/bv.aspx?from=fr&to=zh-CHS&a=http%3A%2F%2Fblogs.msdn.com%2Fcfs-file.ashx%2F__key%2Fcommunityserver-blogs-components-weblogfiles%2F00-00-01-46-55-metablogapi%2F6431.image_5F00_491135AF.png)
自动并行
在文档中表示,现在已经可以利用多处理器使用 VS 11的**并行处理功能,就能够启动多核优化的功能。新的指令/Qpar ,可启用此功能。
[![image](https://box.kancloud.cn/2016-04-01_56fdf150c5eeb.png "image")](http://www.microsofttranslator.com/bv.aspx?from=fr&to=zh-CHS&a=http%3A%2F%2Fblogs.msdn.com%2Fcfs-file.ashx%2F__key%2Fcommunityserver-blogs-components-weblogfiles%2F00-00-01-46-55-metablogapi%2F6428.image_5F00_50D92851.png)
加速 c + + 的大规模并行处理 (AGP) 支持
VS 11 将使它也能够利用 GPGPU 中的图形卡的可能性。换句话说,它将可以混合使用传统代码 CPU 和 GPU 代码。
赶紧下载VS11体验吧
[http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144](http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144)
- 前言
- Visual Studio 11开发指南(1) Visual Studio 11简介与新特性
- Visual Studio 11开发指南(2) Visual Studio 11放弃宏处理
- Visual Studio 11开发指南(3)Visual Studio 11开发SharePoint 2011程序
- Visual Studio 11开发指南(4)Visual Studio 11编程语言发展
- Visual Studio 11开发指南(5)Visual Studio 11 IDE增强
- Visual Studio 11开发指南(6)Visual Studio 11平台改进
- Visual Studio 11开发指南(7)NET 4.5的改善
- Visual Studio 11开发指南(8)Visual C++ 11新特色
- Visual Studio 11开发指南(9)Visual C++ 新功能体验
- Visual Studio 11开发指南(10)Visual C++11 IDE 新功能体验
- Visual Studio 11开发指南(11)Visual Studio 11调试游戏
- Visual Studio 11开发指南(12)Visual Studio 11可视化多核多线程编程的行为
- Visual Studio 11开发指南(13)C++11语言新特性
- Visual Studio 11开发指南(14)C++11---C++/ CX设计
- Visual Studio 11开发指南(15)C++11单元测试
- Visual Studio 11开发指南(16)C++11更新-多线程和异步操作管理
- Visual Studio 11开发指南(17)C++11更新- Lambda表达式
- Visual Studio 11开发指南(18)C++11更新-自动矢量器使用
- Visual Studio 11开发指南(19)C++11更新-并行模式库和代理库
- 在 C++ 中使用 PPL 进行异步编程
- 基于VisualStudio11开发Windows8的Metro sample讲解(1)MessageBox
- Visual C++ 11 中新的并发功能
- 基于Windows8与Visual Studio2012开发内核隐藏注册表
- 基于VC++2012在Windows8上实现文件隐藏
- 实现诺基亚 lumia Windows phone 的手机通话记录截取
- 最短代码实现windows8下的下载器-下载安装执行一体化
- 用Visual studio2012在Windows8上开发内核驱动监视线程创建
- 用Visual studio2012在Windows8上开发内核驱动监视进程创建
- 基于Windows8与Visual Studio2012实现杀毒通用模块
- 用Visual studio2012在Windows8上开发内核中隐藏进程
- 用Visual studio11在Windows8上开发内核枚举注册表
- 用Visual studio11在Windows8上开发内核驱动隐藏注册表
- 用Visual studio11在Windows8上开发驱动实现注册表监控和过滤
- 用Visual studio11在Windows8上开发驱动实现内存填0杀进程
- 【CSDN2012年度博客之星】喜欢本博客的读者,投票赠送《visual C++2010开发权威指南》电子稿--感谢支持 ~(截至到2012年12月30日)
- 今天在清华图书馆看到我的杰作,感慨万千,而我要归零一切 !
- use Visual studio2012 developing kernel driver monitor thread creation on Windows8
- To kernel driver monitoring process developed in Windows8 create using Visual studio2012
- Under Windows8 kernel mode development NDIS application-NDIS Filter explain
- use Visual studio2012 development kernel to hidden process on Windows8