[PATCH 1 of 2] perf: add a command to test copies.pathcopies perf

Siddharth Agarwal sid0 at fb.com
Fri Apr 5 03:39:49 UTC 2013


# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1365133006 25200
#      Thu Apr 04 20:36:46 2013 -0700
# Node ID d59b8e8a9294d40dfc04e6fe8c295fa05d5a7e40
# Parent  80cd52ed9dafc736b832c6238e9c1bfc7701acba
perf: add a command to test copies.pathcopies perf

An upcoming patch will improve the performance of this function, and this
command will be used to demonstrate that improvement.

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -2,7 +2,7 @@
 '''helper extension to measure performance'''
 
 from mercurial import cmdutil, scmutil, util, match, commands, obsolete
-from mercurial import repoview, branchmap, merge
+from mercurial import repoview, branchmap, merge, copies
 import time, os, sys
 
 cmdtable = {}
@@ -158,6 +158,14 @@ def perfmergecalculate(ui, repo, rev):
                                acceptremote=True)
     timer(d)
 
+ at command('perfpathcopies', [], "REV REV")
+def perfpathcopies(ui, repo, rev1, rev2):
+    ctx1 = scmutil.revsingle(repo, rev1, rev1)
+    ctx2 = scmutil.revsingle(repo, rev2, rev2)
+    def d():
+        copies.pathcopies(ctx1, ctx2)
+    timer(d)
+
 @command('perfmanifest')
 def perfmanifest(ui, repo):
     def d():



More information about the Mercurial-devel mailing list