2010-02-18 53 views
3

我已經看到大量有關git比svn更快的統計數據,但大多數統計數據只是將git的本地操作與SVN的等效遠程操作進行比較。有沒有人有鏈接到硬數據比較git的速度和遠程操作與SVN的速度與遠程操作?git通過遠程操作顛覆Subversion的速度有多快?

+0

請務必閱讀您所找到的任何細節。 Subversion和Git都有多種不同的網絡傳輸方式,每種傳輸方式都具有完全不同的性能特徵。通過限制您的比較選擇,您可以輕鬆地證明任一個是「最快」的。 – 2010-02-18 17:44:27

+0

@Greg:我非常想念 - 我主要對人們在大型項目中工作時發現的總體加速度感興趣。 – Mike 2010-02-18 17:45:26

+1

大致來說,「這取決於」。最初的'git pull'幾乎肯定會比最初的'svn checkout'慢得多,但這兩個操作並沒有直接的可比性。 'git commit;一個提交的git push'應該大致相當於'svn commit'。我建議,這將是一個有用的事情,試圖比較基準。 – pioto 2010-02-18 17:45:38

回答

4

正如在評論中提到的,涉及使用Git遠程操作比使用Subversion完全不同:

  • git會開始得到所有回購的歷史,然後就可以自主工作。
  • Subversion只會獲取最近的歷史記錄,並在需要時向服務器請求更多信息。

但是不要忘了Git已經圍繞一個主要功能內置:能夠應用補丁(和/或合併)的十幾個快速
這是一個在兩個工具之間應該測量的操作,其中一個Git具有相當大的優勢,比較和合並不同版本的文件是純粹的本地操作,如Git Subversion comparison頁面所示(免責聲明:用Git維基編寫)

Git速度非常快。由於所有操作(除了推並獲取)是本地有涉及到沒有網絡延遲:

這意味着僅比較遠程操作將極大地限制進行比較的功能...

+0

請注意,儘管「svn diff」和「svn status」不需要網絡,並且是在本地完成的(感謝Subversion保留原始源文件'.svn'的副本),「svn diff -rN」和「svn log」網絡,與「git diff 」和「git log」相反。 – 2010-02-18 20:17:57