Slow pull that exchanges no changes
Xavier Zwirtz
me at xavierzwirtz.com
Wed Jul 27 17:43:04 UTC 2016
I am experiencing very slow pulls on a repo with evolve enabled. Both reposÂ
are on my local disk. If I run a pull using a file system path the commandÂ
finishes in 1.083 seconds. However if I run `hg serve` and pull from thatÂ
instead the total time is 16.991 seconds. The repository is quite large,
it contains 50,000 commits.
Both the client and server repo are using generaldelta.
The output when pulling with --debug and --profile is below:
$ hg pull http://localhost:8000/ --debug --profile
pulling from http://localhost:8000/
using http://localhost:8000/
sending capabilities command
query 1; heads
sending batch command
searching for changes
all remote heads known locally
no changes found
sampling from both directions
query 1; still undecided: 50212, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 2; still undecided: 4517, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 3; still undecided: 3257, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 4; still undecided: 2579, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 5; still undecided: 1969, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 6; still undecided: 1447, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 7; still undecided: 1070, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 8; still undecided: 741, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 9; still undecided: 445, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 10; still undecided: 208, sample size is: 200
sending evoext_obshash1 command
sampling from both directions
query 11; still undecided: 6, sample size is: 6
sending evoext_obshash1 command
11 total queries
sending getbundle command
bundle2-input-bundle: with-transaction
bundle2-input-part: "listkeys" (params: 1 mandatory) supported
bundle2-input-part: total payload size 101
bundle2-input-part: "listkeys" (params: 1 mandatory) supported
bundle2-input-bundle: 1 parts total
checking for updated bookmarks
  CallCount   Recursive   Total(s)   Inline(s) module:lineno(function)
    2493       0   12.5904   12.5904  <method 'recv' of '_socket.socket' objects>
      2       0    0.9998    0.9998  <method 'connect' of '_socket.socket' objects>
      1       0    1.9625    0.3061  <hgext\evolve.pyo>:3854(_obsrelsethashtree)
   265620       2    0.3494    0.2292  <mercurial\localrepo.pyo>:69(__get__)
     20       0    0.5249    0.2125  <mercurial\setdiscovery.pyo>:58(_updatesample)
   114771       0    0.4348    0.1584  <mercurial\context.pyo>:402(__init__)
    65467       0    0.1326    0.1326  <_heapq.heappop>
    50221       0    0.1553    0.1309  <mercurial\obsolete.pyo>:680(relevantmarkers)
   114773       0    0.1458    0.1101  <mercurial\context.pyo>:56(__new__)
    50221       0    0.5276    0.1061  <mercurial\context.pyo>:537(_parents)
     21       0    0.1137    0.0990  <mercurial\dagutil.pyo>:203(headsetofconnecteds)
    50297       0    0.1820    0.0938  <mercurial\ui.pyo>:263(config)
    65467       0    0.0874    0.0874  <_heapq.heappush>
    50213       0    0.3617    0.0848  <mercurial\revset.pyo>:38(iterate)
   265622       2    0.0868    0.0792  <mercurial\scmutil.pyo>:1185(__get__)
   116658       0    0.1054    0.0778  <mercurial\changelog.pyo>:333(node)
     11       0    0.0824    0.0718  <mercurial\dagutil.pyo>:183(ancestorset)
    50225       0    0.3475    0.0696  <mercurial\localrepo.pyo>:525(__getitem__)
      1       0    0.0801    0.0689  <mercurial\dagutil.pyo>:257(_walkto)
   445510       0    0.0672    0.0672  <isinstance>
   100433       0    0.0995    0.0637  <mercurial\changelog.pyo>:345(parentrevs)
   100602       0    0.0696    0.0521  <mercurial\config.pyo>:50(get)
   132890       0    0.1429    0.0457  <mercurial\dagutil.pyo>:278(parents)
   156085    100539    0.5570    0.0456  <len>
   435352       0    0.0452    0.0452  <method 'get' of 'dict' objects>
    50254       5    0.5814    0.0372  <mercurial\util.pyo>:736(__get__)
   100433       0    0.0358    0.0358  <mercurial\revlog.pyo>:384(parentrevs)
   349495       0    0.0353    0.0353  <method 'setdefault' of 'dict' objects>
     10       0    0.1490    0.0338  <mercurial\dagutil.pyo>:105(headsetofconnecteds)
    50236       0    0.2396    0.0308  <mercurial\ui.pyo>:1081(progress)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/evolve-testers/attachments/20160727/cef691fb/attachment.html>
More information about the Evolve-testers
mailing list