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