Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积

Intel c++编译器有下列优点,建议VC++项目开发采用intel c++编译器取代VS自带c++编译器:

与 Microsoft Visual C++ 相兼容,可以嵌入 Microsoft Visual Studio 开发环境。

支持最新的多核处理器,并提供安全功能,可以通过执行堆栈桢运行时错误检查,使得缓冲区溢出安全漏洞更不易受到攻击。

支持多线程应用程序,支持 Open MP,拥有自动并行化功能。

遵循 ANSI C/C++ 及 ISO C/C++ 的标准。

包括Intel Debugger 和代码覆盖工具,支持优化代码和多线程应用的调试,减少代码缺陷,提高开发效率。

支持最新的多核处理器。支持最新处理器的优化功能能大大提高程序在这些处理器上的效能。
支持运行时对堆栈的检查,减少缓冲器益处导致的安全缺陷。
包含IA-32,Itanium(安腾)2以及支持64位内存扩展技术开发工具。
增强Intel Debugger对优化代码的支持

Intel c++编译器集成到 Microsoft Visual Studio* 2005 和 2008 中。使用英特尔 C++ 编译器、Microsoft Visual C++* 编译器或两者同时使用!
· 多线程应用支持包括 11.0 中的新特性、OpenMP 3.0(数据并行和当前任务并行)以及自动并行,以支持简单有效的软件线程。
· 自动矢量化可实现代码并行,从而利用我们最新的处理器中的 SIMD 流指令扩展(SSE)指令集架构(SSE、SSE2、SSE3、SSSE3 和 SSE4)。
· 高性能并行优化程序(HPO)将调整并优化循环,并确保自动矢量化、OpenMP 或自动并行能够最充分地利用高速缓存和内存访问,SIMD 指令集和多个内核。在单一通道中进行编译,能够缩短编译时间并产生更多可靠的代码。 
· 过程间优化(IPO)能够动态地改进中小型函数的程序,特别是循环内包含调用的程序。IPO 分析可提供关于缺陷和编码错误的反馈信息(如未初始化的变量或 OpenMP API 问题),其它编译器不能探测到此类错误。
· 档案导引优化(PGO)通过降低指令快取置换(cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
· 英特尔® 线程构建模块是一个屡获殊荣的 C++ 模板库,能够为任务吸取线程,以创建可靠的、便携的、可扩充的并行应用。英特尔® TBB 是实施并行应用和释放多核平台性能的最有效方式。
· 英特尔® 数学核心函数库包括支持最出色性能的优化及可扩充的数学程序,同时无缝提供从当前到未来多核平台的前向扩充。
· 英特尔® 集成性能基元是一个广泛的多核就绪函数库,高度优化的软件功能可用于多媒体数据处理和通信应用。

那么我们来实际操作一下利用Intel C++编译器的使用吧

先安装,遵循下列流程,

1.安装初始化界面

2.进入安装流程

3.许可协议

4.许可协议后进行安装

5.选择试用

6.选择完全安装

8.进行安装

9.进行安装

10.安装完成

11.编译器属性设置

12 编译器前后路径设置

13.项目采用intel C++编译器进行优化编译

14.确认

15.intel C++编译器进行优化并输出

本人曾经2008-2009开发了8个VC项目,其中7个都用intel c++编译器可以大幅度提升程序性能,

尤其是多媒体性能,计算性能,以及多核条件下的性能要明显强于visual studio 自带C++编译器

同等条件下,intel c++编译器已经几乎无限接近汇编语言的执行效率了,同等条件下,速度更快,体积越小。

本人的7个项目都利用intel c++编译器提升了性能。推荐大家采用intel C++编译器。但是一个嵌入式项目例外,

但是在嵌入式平台,基于winCE,winmobile的MFC不推荐使用intel C++编译器,因为底层芯片基于ARM,无法发挥intel c++编译器的功效,反而不如VS自带的编译器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis数据结构之简单动态字符串SDS

Redis的底层数据结构非常多,其中包括SDS、ZipList、SkipList、LinkedList、HashTable、Intset等。如果你对Redis的理解还只停留在get、set的水平的话,是远远不足以应对面试提问的。本文简单介绍了Redis底层最重要的数据结构 - 简单动态字符串&#xff08…

windows 小技巧

2019独角兽企业重金招聘Python工程师标准>>> 桌面图标显示不全、图标呈现白色方块 ie4uinit -show 关闭占用指定端口的进程 获取进程: netstat -ano | findstr 端口号关闭进程:taskkill -f -pid 进程号文件被占用 打开任务管理器,切换到 性能…

谈判学:三招了解对方底线

导读:谈判者都希望能了解对方的底线,最直接的一招就是将对手变成“朋友”,只是这种“内奸法”毕竟不是常规之法。大多数情况下,谈判双方也不可能像《无间道》一样在对方阵营安放卧底,但是我们完全可以通过一些办法来揣…

SQL SERVER 2012 AlwaysOn - 维护篇 03

搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念; DBA 不但要熟悉数据库也要熟悉操作系统的一些概念&#xf…

区块链BAAS平台:公共或私人区块链编程以用于各种用途

2019独角兽企业重金招聘Python工程师标准>>> 人们可以为公共或私人区块链编程以用于各种用途。理论上,我认为牺牲权力下放的方面可以解决区块链技术背后的许多当前问题。区块链仍然可以包容,而不是分散。这如何解决当前的一些问题&#xff1f…

易用性问题回复

针对淘宝网为例,以一次完整的购物流程为背景,我们分析了在淘宝网中的一些易用性的体现,主要场景如下图所示: 在本场景中,新用户下载淘宝app时,第一次打开应用,淘宝app会出现新手指引,教会用户如…

eBay是如何进行大数据集元数据发现的

很多大数据系统每天都会收集数PB的数据。这类系统通常主要用于查询给定时间范围内的原始数据记录,并使用了多个数据过滤器。但是,要发现或识别存在于这些大型数据集中的唯一属性可能很困难。 在大型数据集上执行运行时聚合(例如应用程序在特定…

职业发展 先“立功”还是先“安内”?

导读:职业生涯更上一层楼,章良踌躇满志,想在短期内建功立业,奠定江湖地位。但他清楚,自己运筹中的分公司服务升级计划,对公司整体和自己的职业生涯都非常有利,却将不可避免地转移老将掌握的部分…

kong入门实战

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 安装kong-database docker run -d --name kong-database \-p 5432:5432 \-e "POSTGRES_USERkong" \-e "POSTGRES_DBkong&…

PAT A1048

示例思想中提到了二分以及two point概念,这个需要后面进行总结;这个示例也给出了一个新的思路。对于两个数字和m,查找两个加数,可以进行i和m-i的枚举,通过遍历数组查看两个加数是否存在,来进行遍历&#xf…

CentOS 7 防火墙操作

导语 今天说下防火墙的操作。CentOS 6 的防火墙是 iptables,CentOS 7 默认的是 firewall,以前的操作不再适用。 查看、开启 服务器刚刚重启完毕,先来看下防火墙的状态,输入 systemctl status firewalld 进行查看 这里是关闭的&…

[python作业AI毕业设计博客]比Selenium IDE更好用的录制工具: Katalon Recorder

Selenium IDE(集成开发环境 Integrated Development Environment)是用于构建测试脚本的原型工具。 它是一个Firefox插件,提供了易于使用的界面,用于开发自动化测试。 但是最新的Selenium IDE总是弹出一系列如下的对话框,不能直接录制&#xf…

价值投资/指标选股(akshare)

利用akshare的数据源,可以获取所有的股票数据以及公开的财务数据,可以进行条件筛选,获取满足条件的股票。 这套模板可以用于价值投资,指标选股。选股周期为日线级别。然后结果可以邮箱发送。 import time import akshare as ak #…

有前途的人工智能大数据分析相关职业:Python数据科学入门之路

2019独角兽企业重金招聘Python工程师标准>>> 为什么学习Python数据科学? Python是数据科学职业所需的宝贵技能之一。Python是数据科学的首选编程语言。 2016年,它超越了R on Kaggle,这是数据科学竞赛的首选平台。2017年&#xff0…

STL 容器简介:C++ 容器:顺序性容器、关联式容器和容器适配器

STL标准容器类简介 标准容器类说明顺序性容器vector从后面快速的插入与删除,直接访问任何元素deque从前面或后面快速的插入与删除,直接访问任何元素list双链表,从任何地方快速插入与删除关联容器set快速查找,不允许重复值multise…

用友云开发者中心助你上云系列之在线调试

现在,大家开始越来越多的谈论到高可用架构的互联网应用。什么是高可用?高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。当我们谈论…

解决jboss.resteasy.spi.UnhandledException: Response is committed, can‘t handle exception

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错如题,如图: 我的情况是:项目作压测,这个接口请求量不大时是OK的 ,当达到…

linux下如何做ghost,又简单又方便,很实用的方法!!!

Linux 做ghost 使用指南。 转载时请注明本博客地址。 1. 使用unetbootin-windows-585.exe 软件做 ubuntu 的liveusb ,一定是做liveusb,不是liveCD,如果你做的是liveCD,要把做好的文件拷出来,否则,重…

解决org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql ...

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错如题: org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [id]…

Spring WebFlux 响应式编程学习笔记(一)

各位Javaer们,大家都在用SpringMVC吧?当我们不亦乐乎的用着SpringMVC框架的时候,Spring5.x又悄(da)无(zhang)声(qi)息(gu)的推出了Spring WebFlux。web? 不是已经有SpringMVC这么好用的东西了么,为啥又冒出个WebFlux?…