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.pswp.cn/news/449521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449521.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Backtrader交易基礎

查看賬戶情況: class TestStrategy(bt.Strategy):def next(self):print(當前可用資金, self.broker.getcash())print(當前總資產, self.broker.getvalue())print(當前持倉量, self.broker.getposition(self.data).size)print(當前持倉成本, self.broker.getpositio…

IP地址分類/IP地址10開頭和172開頭和192開頭的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 IP地址分類/IP地址10開頭和172開頭和192開頭的區別/判斷是否同一網段 簡單來說在公司或企業內部看到的就基本都是內網IP,AB…

Redis數據結構之簡單動態字符串SDS

Redis的底層數據結構非常多,其中包括SDS、ZipList、SkipList、LinkedList、HashTable、Intset等。如果你對Redis的理解還只停留在get、set的水平的話,是遠遠不足以應對面試提問的。本文簡單介紹了Redis底層最重要的數據結構 - 簡單動態字符串&#xff08…

Centos7 安裝OpenTSDB

Centos7 安裝OpenTSDB https://www.imzcy.cn/1697.html轉載于:https://www.cnblogs.com/RHadoop-Hive/p/10563385.html

職場潛規則冷思考:別讓老板“殺”了你

一位3年前共事過的同事走了,就在他以200多萬的房貸代價拿到大門鑰匙的時候,猝然倒在新房的樓梯上。另一個曾經在同一戰壕里沖鋒陷陣的同事被老板辭掉了,兢兢業業,起早貪黑,竟然沒有熬過35歲下崗這一關,這時…

Backtrader交易基礎2

成交價格確定: Order.Market 市價單,以當時市場價格成交的訂單,不需要自己設定價格。市價單能被快速達成交易,防止踏空,盡快止損/止盈; 按下一個 Bar (即生成訂單的那個交易日的下一個交易日&…

windows 小技巧

2019獨角獸企業重金招聘Python工程師標準>>> 桌面圖標顯示不全、圖標呈現白色方塊 ie4uinit -show 關閉占用指定端口的進程 獲取進程: netstat -ano | findstr 端口號關閉進程:taskkill -f -pid 進程號文件被占用 打開任務管理器,切換到 性能…

進一步了解 apt-get 的幾個命令

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 用 apt-get 也很久了,沒多想它的實現,最近遇到 gstreamer 裝不上的問題,才多看看了它 apt-get 就是…

java學習筆記20(Arraylist復習,Collection接口方法,迭代器,增強型for循環)

集合:集合是Java提供的一種容器,可以用來存儲多個數據; 集合與數組的區別:集合的長度是可變的,數組的長度是固定的 集合中存儲的數據必須是引用類型數據; ArrayList回顧: public class Person {…

backtrader數據基礎

cerebro bt.Cerebro() cerebro.addstrategy(TestStrategy2) codes[600862.SH,300326.SZ,300394.SZ] #加載最近兩日交易數據 for code in codes:feed Addmoredata(dataname get_data(code,20200506),namecode)cerebro.adddata(feed) cerebro.run() 數據查看: cl…

談判學:三招了解對方底線

導讀:談判者都希望能了解對方的底線,最直接的一招就是將對手變成“朋友”,只是這種“內奸法”畢竟不是常規之法。大多數情況下,談判雙方也不可能像《無間道》一樣在對方陣營安放臥底,但是我們完全可以通過一些辦法來揣…

JSLint檢測Javascript語法規范

前端javascript代碼編寫中,有一個不錯的工具叫JSLint,可以檢查代碼規范化,壓縮JS,CSS等,但是他的語法規范檢查個人覺得太“苛刻”了,會提示各種各樣的問題修改建議,有時候提示的信息我們看的莫名…

Apt 命令解說(apt-get update、apt-cache search package、apt-get install package、apt-get remove )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 高級打包工具(英語:Advanced Packaging Tools,縮寫為APT)是Debian及其派生發行版的軟件包…

SQL SERVER 2012 AlwaysOn - 維護篇 03

搭建 AlwaysOn 是件非常繁瑣的工作,需要從兩方面考慮,操作系統層面和數據庫層面,AlwaysOn 非常依賴于操作系統,域控,群集,節點等概念; DBA 不但要熟悉數據庫也要熟悉操作系統的一些概念&#xf…

指標研究與多周期

哪些地方會用到指標 ? 回顧一下 Backtrader 的主要功能模塊和回測流程(見:Backtrader 來了!)可以發現,只有在編寫策略Strategy 時才會涉及到指標的計算和使用,而且是 Strategy 中的 __init__()…

區塊鏈BAAS平臺:公共或私人區塊鏈編程以用于各種用途

2019獨角獸企業重金招聘Python工程師標準>>> 人們可以為公共或私人區塊鏈編程以用于各種用途。理論上,我認為犧牲權力下放的方面可以解決區塊鏈技術背后的許多當前問題。區塊鏈仍然可以包容,而不是分散。這如何解決當前的一些問題&#xff1f…

CURL 是什么

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 cURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。 它支持文件上傳和下載,所以是綜合傳輸工…

易用性問題回復

針對淘寶網為例,以一次完整的購物流程為背景,我們分析了在淘寶網中的一些易用性的體現,主要場景如下圖所示: 在本場景中,新用戶下載淘寶app時,第一次打開應用,淘寶app會出現新手指引,教會用戶如…

易盛極星期貨量化教學

我目前量化實盤做期貨交易用的是這個軟件。主要就是因為它可以做套利合約,還有就是國企的外包,安全(vnpy的狗咬狗害怕)。 策略模板: 設置全局參數變量: #導入包 import talib #選擇合約代碼 code1 #設…

eBay是如何進行大數據集元數據發現的

很多大數據系統每天都會收集數PB的數據。這類系統通常主要用于查詢給定時間范圍內的原始數據記錄,并使用了多個數據過濾器。但是,要發現或識別存在于這些大型數據集中的唯一屬性可能很困難。 在大型數據集上執行運行時聚合(例如應用程序在特定…