読者です 読者をやめる 読者になる 読者になる

Mercurial-2.6-rcの並列になったupdateをmozilla-centralで試す

rhodecodeのリポジトリよりずっと巨大なmozilla-centralでMercurial-2.6-rcの並列になったupdateを試してみた。

mozilla-centralの大きさはこんな感じ。13万リビジョン、7万8千ファイルある。

% hg tip
リビジョン:   129561:aa620f3fc2f7
タグ:         tip
ユーザ:       Matthew Noorenberghe <mozilla@noorenberghe.ca>
日付:         Mon Apr 22 17:19:44 2013 -0700
要約:         Bug 841967 - Use performance.now() for the popup notification security delay since it's monotonically increasing. r=dolske

% hg manifest -r tip | wc -l
   78109

ちなみに、リポジトリの取得には次のURLの方法を利用した。

速度を測ってみた

% hg up FIREFOX_AURORA_21_BASE; time hg up FIREFOX_AURORA_22_BASE
9911 files updated, 0 files merged, 8042 files removed, 0 files unresolved
14638 files updated, 0 files merged, 3315 files removed, 0 files unresolved
hg up FIREFOX_AURORA_22_BASE  16.35s user 7.11s system 74% cpu 31.578 total

% hg up FIREFOX_AURORA_21_BASE; time hg up FIREFOX_AURORA_22_BASE
9911 files updated, 0 files merged, 8042 files removed, 0 files unresolved
14638 files updated, 0 files merged, 3315 files removed, 0 files unresolved
hg up FIREFOX_AURORA_22_BASE  15.97s user 6.35s system 74% cpu 29.815 total
% hg up FIREFOX_AURORA_21_BASE; time hg up FIREFOX_AURORA_22_BASE
ファイルの更新数 9911、 マージ数 0、 削除数 8042、 衝突未解消数 0
ファイルの更新数 14638、 マージ数 0、 削除数 3315、 衝突未解消数 0
hg up FIREFOX_AURORA_22_BASE  14.36s user 7.24s system 139% cpu 15.429 total

% hg up FIREFOX_AURORA_21_BASE; time hg up FIREFOX_AURORA_22_BASE
ファイルの更新数 9911、 マージ数 0、 削除数 8042、 衝突未解消数 0
ファイルの更新数 14638、 マージ数 0、 削除数 3315、 衝突未解消数 0
hg up FIREFOX_AURORA_22_BASE  13.67s user 6.74s system 149% cpu 13.652 total

平均と差分

;; mercurial-2.5.4
(/ (+ 31.578 29.815) 2)
; => 30.6965

;; mercurial-2.6-rc
(/ (+ 15.429 13.652) 2)
; => 14.5405

(- (/ (+ 31.578 29.815) 2) (/ (+ 15.429 13.652) 2))
; => 16.156

倍以上早くなっている。巨大なリポジトリを扱う場合は効果が大きい。

(追記)注意点