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の方法を利用した。
速度を測ってみた
- mercurial-2.5.4
% 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
- mercurial-2.6-rc
% 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
倍以上早くなっている。巨大なリポジトリを扱う場合は効果が大きい。