人們經常在技術大會上向我詢問PC硬體方面的建議。具體地說,“你能否推薦我應該用什麼樣的機器來用Visual Studio做開發?”或者“你的筆記本看上去非常快,那是什麼類型的?”
在這個問題上,我的一些建議是很標準和明顯的:從理想的角度講,你要得到一個雙核或更好的CPU。我還總是推薦記憶體要2G或更多。
但有一個好像經常讓人有點吃驚的建議是,確認你在購買新機器時,有可能的話,總是購置最快的硬碟,有必要的話,把購買額外CPU處理器速度的錢用來投資購置較快的硬碟。
為什麼硬碟速度是重要的?
在過去的幾年裡,多核CPU已經變得足夠快了,在大多數常見的應用情境裡,你最終並不會為機器上的處理器能力的原因而感到滯礙(block)。
最有可能滯礙你的是你的機器訪問你硬碟的Seek和I/O速度。如果你使用的應用需要讀寫大量的檔案,你的CPU利用率非常低是典型的,因為應用也許會花費它的大部分時間在等待硬碟操作的完成。
當你用Visual Studio做開發時,你結果會讀寫許多檔案,花費大量的時間做硬碟I/O操作。大的項目和解決方案可能會有成百上千個源檔案(包括圖片,css,網頁, 使用者控制項等等)。當你開啟一個項目時,Visual Studio需要讀取和分析其中所有的源檔案以提供intellisense。當你使用源碼控制系統,check out一個檔案時,你會更新硬碟上的檔案和時間戳記。當你編譯方案時,Visual Studio 會檢查來自多個硬碟路徑的程式集是否更新過,當編譯完成時,需要寫出多個新的程式集,同時在硬碟上持久相應的.pdb調試器符號檔案(每個檔案都是單獨的 儲存操作)。當你把調試器附上一個進程時(當你按F5運行應用時的預設行為),Visual Studio需要查詢和裝載應用所有的程式集調試器符號檔案和DLL,以設定斷點。
如果你有個慢的硬碟,Visual Studio會在等待它完成這些讀寫操作時阻塞住,這會極大地減慢你整體的開發體驗。
對筆記本硬碟的一些建議
大多數PC筆記本常規硬碟的速度是5400rpm,這是非常慢的盤。如果你打算買一個新的筆記本,並計劃在上面使用Visual Studio的話,我強烈建議你得到7200rpm的硬碟。你以後會察覺這會帶來多麼大的好處。
你也許會想,如果你買的是個高檔的筆記本,內含的“當然”不會是塊慢的硬碟吧。別這麼想,看一下這個高端的ThinkPad(我用的就是這個牌子)的預設配置,或者這個高端的Dell XPS筆記本(3343美元起價)的 預設配置,或者這個17寸 Apple MacBook Pro筆記本(2799美元)的預設配置。注意,這三個高檔的筆記本預設配備的都是速度為5400rpm的硬碟。
加上額外的55美元(Lenovo), 93美元(Dell) 或者200 美元(Apple),你就可以升級到速度為7200rpm的硬碟。投入這小量的額外金錢換來一個比較快的硬碟對效能造成的差別很大,絕對是值得的投資。
對案頭電腦硬碟的一些建議
對於案頭電腦的配置,做2個方面的硬碟效能考慮:
1) 考慮購買一個10000rpm的硬碟。這些硬碟超快,跟那些隨案頭機器配置的常見的7200rpm硬碟相比,區別很明顯(Jeff Atwood對此有個很棒的貼子,推薦使用這些快硬碟)。
2) 考慮購買第二個硬碟,設定你的作業系統和OS虛擬記憶體分頁檔(virtual memory swap file)使用其中一個硬碟,然後把你所有的資料(圖片,文檔,以及Visual Studio 項目等)儲存在第二個硬碟上。這樣的方法的好處是,你讀寫資料的操作不會與你作業系統更新虛擬記憶體檔案的硬碟I/O作競爭。
Visual Studio的其他效能建議
既然說到改進Visual Studio的效能問題,你也許要參閱一下下面這些部落格貼子和文章,裡面有一些很好的建議:
- 技巧和訣竅;在VS 2005裡最佳化ASP.NET 2.0Web項目的Build效能
- Public Hotfix Patch Available for VS 2005 F5 Debugging Performance Issue with ASP.NET
- Speed up Visual Studio 2005
- Optimize the Launch of Visual Studio 2005
我最近聽說的另外一個可能的效能問題是,有幾個人報告說用Google工具條外掛程式而遇上了問題。不知道什麼原因,在把Visual Studio調試器附上瀏覽器時,有時會造成很長的耽擱。如果裝載你的web應用時你看到有很長的耽擱,而且安裝了Google工具條(或其他的工具條) 的話,你也許要試著將它們卸載,看一下是不是它們造成的問題。
希望本文對你所協助,