暢談Visual Studio 2010并行特性
本人很喜歡Visual Studio 2010,在工作中也很喜歡總結(jié)關(guān)于Visual Studio 2010的經(jīng)驗(yàn)教訓(xùn),下面就這個(gè)問題來詳細(xì)說說吧。在以往的計(jì)算機(jī)發(fā)展歷史中,硬件技術(shù)的發(fā)展總是給軟件帶來免費(fèi)的性能提升,從386到586,從賽揚(yáng)到奔騰,每次硬件的升級(jí),都帶來軟件性能的大幅提升,而軟件無需做任何變動(dòng),只需要坐等硬件升級(jí)就可以了。
但是進(jìn)入多核時(shí)代后,這種“免費(fèi)的午餐”再也沒有了。這其中最主要的原因就是當(dāng)前的應(yīng)用程序幾乎都是針對(duì)一個(gè)運(yùn)算核心而設(shè)計(jì)的,當(dāng)硬件通過增加運(yùn)算核心來提高性能時(shí),由于受到其架構(gòu)的影響,軟件并不能充分地利于多個(gè)運(yùn)算核心所帶來的性能提升,甚至有的時(shí)候性能還有所下降。
#t#在這種情況下,開發(fā)者不得不改變應(yīng)用程序的架構(gòu)和開發(fā)方法,以應(yīng)對(duì)這種多核的趨勢(shì),使得自己的軟件可以充分利于硬件升級(jí)所帶來的性能提升。面對(duì)這樣的需求,Visual Studio 2010加大了對(duì)并行運(yùn)算的支持。微軟正在使得盡量大的范圍內(nèi)的開發(fā)者都能高效地進(jìn)行并行計(jì)算的開發(fā),不管他使用的是非托管代碼還是.NET Framework。在Visual Studio 2010中,我們將看到:
◆Visual Studio IDE對(duì)并行計(jì)算開發(fā)的大量支持。比如,Visual Studio 2010的調(diào)試器知道代碼的并行特性,并且能夠在調(diào)試程序的不同執(zhí)行單元的時(shí)候,表現(xiàn)應(yīng)用程序的狀態(tài)。
◆非托管的C++庫和編譯器對(duì)并行計(jì)算的支持
◆.NET Framework 4.0對(duì)并行計(jì)算的大量支持,包括P-LINQ,并行語言語句等等
另外,Visual Studio 2010還提供了一個(gè)“并行性能分析器”,它可以幫助我們分析應(yīng)用程序的性能瓶頸,找到需要并行處理和可以進(jìn)行并行處理的地方,并以圖形化的形式表現(xiàn)出來。這樣,“并行性能分析器”配合這Visual Studio 2010,我們就可以輕松地實(shí)現(xiàn)應(yīng)用程序的并行化,再次吃上“免費(fèi)的午餐”。