亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Intel C++ 9.0編譯器優化效果測試

2019-11-17 05:48:24
字體:
來源:轉載
供稿:網友
摘 要 本文主要針對Intel C++ 9.0編譯器在Visual C++ 6.0環境下對一些常用的功能性操作的優化作用進行了測試驗證。主要從對采用編譯器前后的程序運行時間進行比較來進行判定。測試范圍主要集中于對線程的切換時間,轉異常以及異?;謴蜁r間,高優先級線程搶先時間以及信號量響應時間方面。此外,還對一些常用的數學函數的運行時間進行了測試比較。得出的測試數據和結論能對采用此編譯器的用戶有一定的參考價值和借鑒作用。

  要害詞 Intel C++,Visual C++,編譯器,優化

  引言

  當今許多計算機應用領域,如天氣預告、信號處理以及軍事上的彈道跟蹤等,它們對程序處理速度的要求都是相當高的。否則就會導致結果出現偏差或者失去其意義。要提高程序的運算速度,一般通過以下幾個方面的改進措施來進行:(1)采用新的處理速度更快的硬件設備,如更快的CPU,更大的內存,以及更快的I/O設備等。但這顯然會導致成本的大量增加,并非是一種適合于任何單位的實際的改進措施。(2)更加優化的程序設計方法,如在程序中引入多線程、并行等處理方法。這是一種比較有效的方法,當然對程序設計人員以及編程人員的水平有更高的要求。(3)采用一些優化軟件,這也是一種簡便有效的方法。另外假如和其他兩種方法配合使用,對于一些要求大幅度提高處理速度的場合下,也將是非常有幫助的。

  采用優化型編譯器就屬于上面介紹的第三種方法。處理器由于受數據相關、條件轉移和資源沖突等原因,指令級并行度受到極大的限制。通過優化編譯器對指令序列進行重組,以及采用軟件與硬件相結合的方法處理數據相關、條件轉移和資源沖突等,可以大大提高處理器的指令級并行度,使在一定時間內可發射盡可能多的指令數。另外,優化編譯器還能根據處理器中先行指令窗口的大小,把沒有數據相關、控制相關和功能部件沖突,或者沖突和相關比較少的指令調度到同一個先行指令窗口中,使這些指令超越它前面的指令先發射到操作部件中去,從而提高功能部件的利用率,這樣就能進一步提高處理器的性能。

  一般來講,實現程序的優化調度需要軟件(主要是編譯器)和硬件的共同結合才能獲得比較好的調度效果。Intel C++ 編譯器作為一款專門針對Intel 型處理器進行優化的編譯器,它們二者的結合從理論上能實現優化調度,能對程序的執行效能有某些方面和一定程度的提高。測試中處理器應選擇Intel系列的產品,實際使用的處理器為Intel 奔騰4處理器(1.8GHZ),內存為256MB;操作系統考慮通用性和廣泛性,為Windows xp系統,編程環境為Visual C++ 6.0。

  線程額外開銷測試

  針對越來越多的多線程編程應用,線程間的開銷諸如線程間的切換時間、高優先級線程的搶先時間以及線程對信號量的響應時間等指標成為制約程序執行速度的一個重要方面。減少線程的額外開銷時間對提高程序的運行速度是非常有意義的。

  1、測試指標

  這里主要包括四個測試指標,(1)線程的切換時間。(2)高優先級線程的搶先時間。(3)信號量響應時間。(4)線程轉異常以及異?;謴蜁r間。

  2、測試方法

  測試中,啟動的線程開始無條件循環運行。以對指標(1)的測試為例,循環中只進行運行次數累加和線程切換的操作,無其他附加操作,直至給出結束事件,終止線程并給出線程的運行次數和時間。測試的計算結果都是在忽略線程本身的開銷的情況下得出的,這里線程自身所花費的時間通過測試比較占總花費的時間的比例是非常小的,對計算結果沒有太大的影響。另外若在線程中加入對線程本身開銷的統計,將會引入其他的操作,同樣會有一定的時間開銷,仍然會有誤差存在。測試中對每一個測試項目皆進行五次重復測試,對得出的五個值取平均。

  3、測試流程

  這里的測試流程以對指標(1)的測試為例以流程圖的形式加以說明,后面三項的測試與此相似。

  4、測試步驟

  4.1 線程切換時間測試的基本步驟

 ?。?)創建兩個相同優先級的線程1和2。

 ?。?)運行線程1得到線程1的當前運行次數后,立即切換到線程2。

 ?。?)運行線程2得到線程2的當前運行次數后,立即切換到線程1。

 ?。?)重復第2步和第3步,直到給出結束事件。

 ?。?)得到2至4步所花費的全部時間和兩線程分別的運行次數。

 ?。?)計算線程間的切換時間。

  這里設所花費的時間為emplasedtime,分別運行的次數為runcount1和runcount2,則切換時間為emplasedtime/ (runcount1+runcount2-1)。以下幾項與此類似。
Intel C++ 9.0編譯器優化效果測試

圖1 線程切換時間測試流程

  4.2 高優先級線程搶先時間測試的基本步驟

 ?。?)創建兩個不同優先級的線程,假定線程1的優先級高于線程2。

  (2)得到線程1的當前運行次數后,線程1將優先級降到低于線程2,線程1被線程2搶先。

 ?。?)得到線程2的當前運行次數后,線程2將優先級降到低于線程1,線程2被線程1搶先。

 ?。?)重復第2步和第3步,直到給出結束事件。
  
 ?。?)得到2至4步所花費的全部時間和兩線程分別運行的次數。

  (6)計算高優先級線程搶先時間。

  4.3 信號量響應時間測試的基本步驟

 ?。?)創建信號量1和信號量2。

  (2)建有相同優先級的線程1和2,并分別請求獲得信號量1和信號量2。

  (3)釋放一個信號量1。

 ?。?)線程1獲得信號量1,得到當前運行次數后,立即釋放信號量2。

 ?。?)線程2獲得信號量2,得到當前運行次數后,立即釋放信號量1。

  (6)重復第4和第5步,直到給出結束事件。

  (7)得到4至6步所花費的全部時間和兩線程分別運行的次數。

 ?。?)計算線程對信號量的響應時間。

  4.4 轉異常以及從異?;謴蜁r間的測試步驟

 ?。?)創建運行一個線程。

 ?。?)在線程中給出一個異常。

  (3)異常處理中得出當前異常次數。

 ?。?)重復第2和第3步,直到給出結束事件。

  (5)得到2至4步所花費的全部時間和異常產生的總次數。

  (6)計算轉異常以及從異?;謴偷臅r間。

  5、測試結果

  表1 線程額外開銷測試對比


測試項目線程切
換時間高優先
級搶占
時間信號量
響應時間轉異常以
及從異常
恢復時間
未使用Intel C++編譯器(us)

1.12

2.27

2.38

14.59
使用Intel C++
編譯器 (us)
1.09

2.26

2.37

9.21

  6、測試結論

  從以上四項的測試結果可以看出,除了轉異常以及從異?;謴驮谑褂昧薎ntel C++編譯器后,執行效率有了較大提高(約能提高1/3)外,其他幾項在使用編譯器前后幾乎沒有什么變化。從這里可以看出使用Intel C++編譯器編譯的代碼對處理異常時的處理器能有優化效果,執行效率能有較大的提高;對于線程間的響應和切換卻幾乎達不到優化的效果。

  數學函數運算測試

  前面提到的諸多應用領域,大量的數學運算是必需的。許多程序的主體就是大量的數學運算,運算速度對程序的執行速度也就會有決定性的影響。若能提高數學運算的速度,相應的程序的執行效率就將會得到提高。

  1、測試項目

  測試項目包括常用的三角函數運算和一些開方、次方、求模、對數等常規運算。究竟大量的復雜的運算也是由以上運算組合的。

  2、測試方法

  這里對每一項的測試都使用相同的測試方法,即讓每種運算都運行固定的大量次數(這里采用百萬次),得到運行前后的時間值,求出二者之間的差值,即是運行固定次數的時間。再對同一種運算使用Intel C++編譯器進行編譯前后的運行時間值進行比較即可。測試中進行運算的函數參數皆為雙精度型,對于同一種運算在使用Intel C++編譯器前后皆使用相同的參數,避免因帶入參數的不同而影響對比判定。測試中對每一個測試項目皆進行十次重復測試,對得出的十個值取平均。

  3、測試結果

  表2 百萬次運算時間對比

測試項目sincos tansqrtpowfmod Log10 未采用Intel C++編譯器 (s)0.1710.1390.2280.0460.3730.2620.120采用Intel C++編譯器 (s)0.0540.0970.0810.0310.1040.0490.062
  4、測試結論

  從以上對各項數學函數運算所耗時間的測試中可以看出,Intel C++編譯器對數學函數運算的優化效果是比較明顯的。針對不同的運算,優化效果也不盡相同。對于同種運算在使用Intel C++編譯器前后最差的也能將時間縮短至約原來的2/3,最好的能達到約原來的1/5。由此可以看出,若將其用于涉及有較大運算量的程序中,必將較大地提高程序的處理速度,較好的滿足我們在應用中對程序速度的要求。

  總結

  從以上各項指標的對比測試中,可以得出在減少線程間的轉換開銷方面Intel C++編譯器并不能發揮什么作用,對于線程本身轉異常以及從異常恢復方面卻能有較大的提高??紤]到異常和中斷處理機制的相似性,我們也可推斷出其對中斷處理效率的提高也應該是有較大作用的。在數學函數運算方面,它能發揮出較大的作用,能較明顯地提高數學函數運算的效率。因此我們認為經Intel C++編譯器編譯過的數學函數運算的代碼能更為高效的執行,這對包含較多數學運算的應用程序來講,Intel C++編譯器的使用將會對程序執行速度的提高提供幫助,從而滿足相關應用領域對處理速度的要求。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费一区二区三区在线观看| 国产91网红主播在线观看| 九九九久久久久久| 欧洲成人免费aa| 亚洲欧美一区二区三区久久| 国产精品免费视频xxxx| 久久福利视频导航| 欧美成人四级hd版| 日韩精品一区二区视频| 国产精品狼人色视频一区| 精品久久久久久国产91| 亚洲成人aaa| 57pao国产成人免费| 欧美体内谢she精2性欧美| 欧美一级淫片videoshd| 久久久久久国产三级电影| 国产亚洲在线播放| 欧美xxxx做受欧美| 亚洲精品天天看| 欧美成人午夜影院| 国产亚洲视频在线观看| 欧美日韩成人在线视频| 国产精品一二三在线| 国产不卡av在线免费观看| 色悠久久久久综合先锋影音下载| 国产91av在线| 久久综合亚洲社区| 国产成人亚洲综合91| 欧美xxxwww| 中文字幕久久久av一区| 精品亚洲一区二区三区在线观看| 亚洲精品欧美一区二区三区| 亚洲精品国产精品久久清纯直播| 亚洲午夜未满十八勿入免费观看全集| 毛片精品免费在线观看| 国产美女直播视频一区| 亚洲国产精品人久久电影| 亚洲人成网在线播放| 欧美精品一区三区| 欧美交受高潮1| 欧美激情一二区| 亚洲天堂av在线免费观看| 97超碰色婷婷| 成人有码在线播放| 久久久综合av| 欧美性猛交xxx| 98精品国产高清在线xxxx天堂| 成人夜晚看av| 欧美猛交ⅹxxx乱大交视频| 精品久久久久久亚洲精品| 成人免费xxxxx在线观看| 亚洲视频国产视频| 亚洲春色另类小说| 92裸体在线视频网站| 国产成人极品视频| 国产一区二区三区直播精品电影| 欧美精品激情在线| 国产精品普通话| 69视频在线播放| 国产狼人综合免费视频| 精品久久久久久中文字幕一区奶水| 亚洲色图激情小说| 日韩av在线免费| 中文字幕在线看视频国产欧美| 欧美激情一区二区三级高清视频| 久久久久国色av免费观看性色| 国产精品高潮呻吟久久av黑人| 亚洲精品久久久久久久久久久| 欧美自拍视频在线观看| 亚洲欧洲一区二区三区在线观看| 亚洲日韩欧美视频| 九九精品在线视频| 国产性猛交xxxx免费看久久| 亚洲精品国产综合久久| 亚洲xxxx18| 中文在线资源观看视频网站免费不卡| 亚洲精品456在线播放狼人| 国产精品美女在线观看| 91国产美女在线观看| 国产欧美精品一区二区三区介绍| 成人伊人精品色xxxx视频| 国产成人精品网站| 久久综合久久美利坚合众国| 欧美日韩一区二区三区在线免费观看| 性欧美办公室18xxxxhd| 日韩小视频在线观看| 国产精品美女999| 狠狠躁18三区二区一区| 国产aⅴ夜夜欢一区二区三区| 欧美激情在线视频二区| 亚洲人成电影网站色…| 日本高清视频精品| 性夜试看影院91社区| 欧美日韩亚洲一区二区三区| 久久久久久久久久久人体| 欧美激情精品久久久久久久变态| 欧美国产日韩一区二区三区| 日韩美女福利视频| 操91在线视频| 国产成人精品久久| 成人综合国产精品| 亚洲综合在线中文字幕| 亚洲va久久久噜噜噜| 久久久免费在线观看| 日韩欧美高清在线视频| 日本不卡高字幕在线2019| 国产日韩在线看片| 国产精品 欧美在线| 久久久国产精品视频| 69视频在线播放| 法国裸体一区二区| 91精品综合久久久久久五月天| 欧美性xxxxhd| 久久久欧美一区二区| 97香蕉超级碰碰久久免费的优势| 韩国视频理论视频久久| 2019中文字幕在线免费观看| 超薄丝袜一区二区| 日韩av网址在线观看| 成人免费大片黄在线播放| 久久久久免费精品国产| 久久久久这里只有精品| 欧美国产日本在线| 欧美午夜xxx| 成人444kkkk在线观看| 久久中文精品视频| 欧美寡妇偷汉性猛交| 欧美极品少妇xxxxx| 2019日本中文字幕| 欧美日韩成人在线观看| 国产精品999| 国产偷国产偷亚洲清高网站| 久久天堂av综合合色| 91亚洲精品久久久| 超碰日本道色综合久久综合| 亚洲18私人小影院| 亚洲精品视频免费| 欧洲s码亚洲m码精品一区| 最近2019中文字幕大全第二页| 日韩免费中文字幕| 国产美女精品视频| 国内免费久久久久久久久久久| 最近中文字幕mv在线一区二区三区四区| 国产成人a亚洲精品| 欧美大秀在线观看| 中文欧美日本在线资源| 国内精品400部情侣激情| 欧美高跟鞋交xxxxhd| 国产精品视频久久久| 亚洲午夜av电影| 日韩美女视频在线观看| 日本精品一区二区三区在线播放视频| 国产精品久久在线观看| 韩国精品美女www爽爽爽视频| 欧美日韩精品在线视频| 国产69精品久久久| 成人a级免费视频| 欧美日韩成人网| 国产视频久久久久久久| 日韩电影在线观看中文字幕| 国产日韩换脸av一区在线观看| 亚洲第一精品夜夜躁人人爽| 91精品国产网站| 亚洲精品欧美日韩专区|