2010-05-17 62 views
2

有很多關於SVN和Hg的文章。 我想集中只有性能。Mercurial vs Subversion。誰的表現更好?

首選真實體驗。

這裏是我的設置:

(將來設置)的Windows使用IIS來回回汞

(當前設置)在Apache的頂級SVN 1.3.2 windows下

我想有大多數常見操作的統計(提交,統計,本地/遠程拉,推等...)。我不確定什麼是汞最常見的操作。

表現不是唯一對我們很重要的事情,但它是高度重要的,可能是切換到汞的關鍵決定點。

但是,我想看一些統計數據。克隆5Gb的回購需要多少日誌?或類似的東西。

+11

首先,他們甚至不是同一類型的應用程序。 Mercurial是DVCS。基於性能原因,選擇SVN或Mercurial之一是完全瘋狂的。 – 2010-05-17 16:52:07

+1

另請注意,SVN服務器的類型會影響速度。 Apache版本使用WebDAV,速度可能很慢。特別是,svnserve合併通常要快得多。 – 2010-05-17 16:55:39

+0

我想我沒有提到這一點。這裏有一些更多的信息:我們目前使用svn,並且我們有需要運行比較的特性。大多數常見操作的性能是其中之一 – Chicago 2010-05-17 17:29:59

回答

2

它取決於很多因素(並且不,合併不是最常見的操作 - 提交是,即使DVCS系統花費所有時間合併,將更改放入事物仍然是最重要的部分上游和下游)。

所以,首先你需要升級你的SVN。這很簡單,一旦你在repo上運行'svnadmin pack',你就可以正確比較。 1.3.2是古老的!(當前版本爲1.6.11)

其次,您需要決定推拉大型軟件倉庫對您是否重要。例如,我有一個12 Gig回購管理。幸運的是,svn允許我們只獲取部分內容,而不是全部內容,所以對它的管理有了很大的改進。

另外,v1.7(即將推出這麼快)有顯着的性能改進,因爲性能並不是SVN傢伙的優先考慮事項,他們確實在增加功能並確保穩定的穩定性。現在,績效是一個問題,正在解決。看看開發郵件列表來看看。這可能值得您稍等一會兒(或使用您的回購副本進行評估)。

你看,性能可能與你的系統相同。這可能是瓶頸在IO這是svn通常失敗的地方(認爲開發郵件列表確實有一些來自具有raid-0 SSD,24 Gb RAM的怪獸服務器的perf數字,奇怪的是它是CPU的瓶頸!)

所以總而言之,你必須弄清楚你的工作流程和流程。如果Mercurial(這是一個很好的選擇)爲你提供了那麼好,那就去做吧。但如果沒有,那麼遷移不會幫助你,不管它有多快。

0

(不完全是一個答案,但它仍然可以提供一個有用的背景下,以你的問題:)

正如DVCS tools提到,在VCS中最常見的操作,尤其是分佈式的一個,就是:合併

而且,無論您的設置是什麼,使用Mercurial總是比使用SVN更容易和更快速。請參閱:

7

首先,也許升級顛覆?

我認爲選擇與更自然的工作流程不匹配的生產力成本將會使任何性能差異變得相形見絀。

假設Subversion在各方面都優於Mercurial。大!如果您和同事使用您的存儲庫的方式將更適合Mercurial,那麼您已經成爲性能明智且生產力蠢的公司。

除非你控制的真的很大,否則你可能不會注意到這些差異。選擇能夠提供最佳功能的產品,以滿足您的期望。

0

iirc svn通常比較容易獲得遠程回購,因爲它無需提取歷史記錄。之後,hg通常會更快,因爲它將使用更多的本地數據,並且具有更緊湊的數據庫,因此對於類似的遠程操作來說更快。

此刻我只能找到this作爲任何形式的直接比較。它有點有缺陷,因爲用這些圖像文件填充任何這些VCS並不是真的。

如果你真的想要好的數據,那麼爲什麼不用自己的回購測試自己?