用.NET 4如何計算CPU的性能
2010/11/29 16:00:56

  
  隨著Visual Studio 2010正式版的發(fā)布,我們已經可以用上.NET 4的所有功能。那么對于并行計算的嘗試?

  我們都知道CPU的性能至關重要,但主頻已經越來越難以提升,縱向發(fā)展受限的情況下,橫向發(fā)展成為必然——核心數開始越來越多。然而多核心的利用、并行計算一直是編程中的難題,大的不說,就說代碼的編寫,程序員大多都有過痛苦的經歷:多線程的程序代碼量大,編寫復雜,容易出錯,并且實際運行效率是否理想也較難保證。

  為改善這種狀況,.NET 4.0中引入了TPL,關于TPL,MSDN的簡介是:

  任務并行庫(TPL)的設計是為了能更簡單地編寫可自動使用多處理器的托管代碼。使用該庫,您可以非常方便地用現有序列代碼表達潛在并行性,這樣序列代碼中公開的并行任務將會在所有可用的處理器上同時運行。通常這會大大提高速度。簡而言之,TPL提供了一系列的類庫,可以使編寫并行運算的代碼更簡單和方便。

  裝好正式版的VS2010以后,寫了段代碼來測試下,代碼很簡單,拿一條字符串和一堆字符串里的每一條分別用LevenshteinDistance算法做字符串相似程度比對。先用傳統(tǒng)的順序執(zhí)行的代碼跑一遍,記錄下時間;再換用TPL的并行代碼跑一遍,記錄下時間。然后比對兩次運行的時間差異。

  可見,在多核心處理器上,并行計算的執(zhí)行速度都得到了大幅提升,即便是在單核心超線程出2個邏輯核的Atom N270上亦縮短了32.55%的運行時間。在A240上并行計算的效率竟然是順序計算的204.87% ?!而同樣是4核心,i7 920在超線程的幫助下,并行執(zhí)行效率提升明顯高過A630。最后VM里的測試,是否也可以在某種程度上佐證在多核心的調度上,Win7要強過XP呢(純猜測)?順帶可以看到,同樣是i7的硬件環(huán)境,單線程宿主OS(Win7)里執(zhí)行花費55.133秒,VM(Win7)里56.965秒,速度上有約3%的差異。

  另外,針對性能較強的i7處理器,加大程序中的2個變量后再做測試,并行執(zhí)行的效率比得到了進一步的提升。應該是因為創(chuàng)建/管理/銷毀多線程的開銷被進一步的攤平的緣故。例如在每字符串2000個字符,共2000條字符串的情況下,順序執(zhí)行和并行執(zhí)行的時間分別是07:20.9679066和01:47.7059225,消耗時間比達到了409.42%。

  測試程序在順序執(zhí)行的部分,內存占用相對平穩(wěn),CPU則大部分核心處在比較空閑的狀態(tài)。到了并行執(zhí)行部分,所有核心都如預期般被調動起來,同時內存占用開始出現明顯波動。

返回列表
返回首頁 主站蜘蛛池模板: 国产成人免费a在线视频app| 成人看片黄a在线观看| 亚洲精品视频观看| 老湿机香蕉久久久久久| 国产电影在线观看视频| 99热99re| 性色av闺蜜一区二区三区| 久久精品一本到99热免费| 欧美成人全部免费观看1314色| 免费中文字幕乱码电影麻豆网| 草逼视频免费看| 国产日韩欧美高清| 69国产成人综合久久精品91| 天天操狠狠操夜夜操| 中文国产成人精品久久一| 日本暖暖视频在线播放| 亚洲av无码片vr一区二区三区| 永久免费视频v片www| 公交车上被弄进走不动| 色综合综合色综合色综合| 国产极品白嫩美女在线观看看| 78成人精品电影在线播放| 好妈妈5韩国电影高清中字| 中文字幕人妻偷伦在线视频 | 浮生陌笔趣阁免费阅读| 午夜成人理论福利片| 色天使色婷婷在线影院亚洲| 国产在线jyzzjyzz免费麻豆| 日本免费网站视频www区| 国产精品深爱在线| 97精品依人久久久大香线蕉97| 奶大灬舒服灬太大了一进一出| 中文人妻无码一区二区三区| 日本中文字幕有码视频| 久久精品综合电影| 欧洲一区二区三区在线观看| 亚洲天堂福利视频| 欧美色图亚洲图片| 亚洲综合小说久久另类区| 琴帝type=小说| 免费澳门一级毛片|