Visual Studio 11預覽:性能有沒有減弱?
在我們關于即將到來的 Visual Studio 11 迷你系列的前幾篇文章中已經討論了有關所支持編程語言和集成開發環境的新功能。今天我們要看一下會影響所有使用 Visual Studio 開發者的另一重要方面:性能。
雖然不像新功能那么令人興奮,但是 Visual Studio 環境的性能問題已貫穿 好幾 代產品成為一種反復出現的開發者憂慮。這種憂慮一直持續到目前的 Visual Studio 2010 和最近發布的 Visual Studio 11開發者預覽版。在今年早些時候微軟發布了 Visual Studio 擴展 PerfWatson,此擴展專門用于從 Visual Studio 2010 SP1 用戶那里收集實際性能數據,以便在 Visual Studio 11 發布前修正這些問題。
從那時起,PerfWatson 已被集成到 Visual Studio 11 中,以幫助微軟的開發團隊修正出現的問題,從而該版本初見端倪。微軟的工程總監 Larry Sullivan 最近在 Visual Studio UserVoice 反饋網站的性能分類下提供了一個更新。Sullivan 指出已收到超過“4700回復和投票”,并且他希望開發者繼續提供評論和 PerfWatson 數據。
Sullivan 的更新引發了很多用戶熱議。現在一起回顧一下部分評論,這些評論表達了許多開發者正在經歷的挫折:
用戶Darrell寫道:
“是的——你正在聽取針對下一代 Visual Studio 的反饋,此舉確實很棒,但是對于當前版本的 Visual Studio 又在做些什么?在推出適用于 VS2010 的 SP 補丁包之前,難道我們就不能獲得那些修復中的一些么?Visual Studio 正在嚴重迫使我遠離 Windows 開發。由于面向對象建模(OOM)的問題(擁有大量內存且運行 64 位版本)我的 VS 每天會崩潰 2 至 3 次,而且我經常會遇到其他性能問題,這使得我的生活簡直像地獄一般。照這么下去,我的下一份合約將不會做 .NET 開發,或者反正至少不是在 Windows 上開發。”
用戶Santosh Kumar Arisetty寫道:
“我的 Visual Studio 2010 每天至少重啟兩次。它會報告一個問題,真是謝天謝地。我希望所有這些問題將盡快得到解決,從而使 VS 更加健壯。如果這些可作為適用于 VS2010 的 SP 補丁包的一部分,而不是 VS2011 的一部分的話,那就真的太棒了。”
用戶PleaseFixYourBugs摘錄:
“你完成你的性能工作了么??!你驗證你的勝利果實了么???對不起,但我什么也沒看到。我花了不少時間把玩 VS2011 開發者預覽版,但是它完全與 VS2010 一樣慢。而且你說你正在準備收尾工作?!太離譜了。”
用戶VS Perf寫道:
“我覺得修復 VS 性能問題的最佳方式就是在所有內部項目中使用它,即 Dogfooding[1]。據我所知,你們的一些/許多開發者在內部并不使用它,尤其對于那些較大的項目,對不?還是我被誤導了?”
這些以及其他評論導致 Sullivan 發表了以下回復。首先,他想澄清開發者預覽版相對于已排程的 Visual Studio 11 測試版(Beta)的作用:
“我應該更清楚不過的是,我們正處于針對測試版性能改進的大力推進的收尾階段,而不是針對開發者預覽版的,并且我期待每個人都能獲取測試版,從而感受這些改進。開發者預覽版實際是為了展示我們對于 Win8 和云開發的支持,以及新的應用程序生命周期管理(ALM[2])功能和 Team Foundation Service。我們努力檢測該產品以便收集更好的有關你在 Visual Studio 上的哪些地方花時間等待的遙測數據。雖然此項工作在開發者預覽版中并未顯示出成功,但是非常有助于我們更好地理解 Visual Studio 中那些問題最多的區域,而且此項工作將會在測試版及后續版本中產生效益。”
針對用戶“VS Perf”提到的 Dogfooding(在內部使用產品的實踐)問題,Sullivan 這樣說道:
“既然提到了 Dogfooding,那么我想讓你知道我們對 Visual Studio 和 TFS[3]進行內部使用的情況。我們使用我們的產品來構建我們的產品,而且我們這么做的原因正如你所說的一樣,以便讓每個開發者對該產品都有感覺。為了給你一些范圍感——在 Visual Studio 部門中,我們通常有數以百計的員工工作在最新版本上,而在 Visual Studio 部門之外,我們同樣有許多在工作中使用當前版本產品的合作伙伴團隊。開發部將 TFS 用于我們所有源代碼的管理、bug 和工作項目追蹤,以便我們做到使用我們產品的完整范圍。”
InfoQ 將繼續跟蹤 Visual Studio 11 的發展,見證這些性能變化是如何在發布代碼中體現出來的。
譯注
[1] Dogfooding,又稱 Eating your own dog food,是指當某家公司(通常是軟件公司)使用其自己制作的產品時的那段時期。在 1988 年,微軟經理 Paul Maritz 發給 Microsoft LAN Manager(產品名,微軟局域網管理器)的產品測試經理 Brian Valentine 一封題為“Eating our own Dogfood”的電子郵件,要求他增加該公司產品的內部使用率。從那時開始,此術語的用法傳遍了整個公司。Dogfooding 可能是某公司展示對其自己產品有信心的一種方式,因此也是一種見證廣告。例如,微軟和谷歌都強調對其自己的軟件產品的內部使用。"eating your own dog food" 背后的想法是,如果你希望客戶購買你的產品,那么你也應該愿意使用它們。更多詳細內容參見 Eating your own dog food。
[2] ALM,Application Lifecycle Management,即應用程序生命周期管理,用于支持應用程序在開發團隊與運營團隊之間進行流動和轉移。更多詳細內容參見 Visual Studio Roadmap
[3] TFS,Team Foundation Server,更多詳細內容參見 Team Foundation Server 是什么?。
查看英文原文:Preview of Visual Studio 11: Wither Performance?