Profile of hg clone on windows

Daniel Santa Cruz byteshack at gmail.com
Mon Sep 19 14:47:19 CDT 2005


This was ran on a Windows XP box using and IDE drive with NTFS.

I have included:
* Size of the project (find)
* hg clone timmings
* hg clone -U timming
* hg clone --profile output

This runs quite a bit slow, as you can see.  I am running python.org's
python, and have used the module found in sourceforge for python that
gives hardlinking capabilities.  Notice how under cygwin, even the
find runs slow.

Daniel.

(from cygwin)
$ time find upstream | wc
  32410   40794 2542038

real    0m12.654s
user    0m2.061s
sys     0m10.826s

(now in windows' cmd)
C:\src>hg --time clone upstream clonetimetest
Time: real 81.354 secs (user 11.266+0.000 sys 4.875+0.000)

C:\src>hg --time clone -U upstream clonetimetest3
Time: real 21.500 secs (user 4.641+0.000 sys 0.875+0.000)

(sorry for the clutter)
C:\src>hg --profile clone upstream cloneprofiletest
         374722 function calls (365151 primitive calls) in 128716.482
CPU seconds

   Ordered by: internal time, call count
   List reduced from 157 to 40 due to restriction <40>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     3279 85116.877   25.958 119805.867   36.537 localrepo.py:179(wwrite)
     9848 37772.781    3.836 38447.495    3.904 util.py:275(o)
        1  727.156  727.156 127063.697 127063.697 localrepo.py:1020(update)
    42011  724.630    0.017 1425.784    0.034 ntpath.py:59(join)
     3282  501.947    0.153 2421.403    0.738 revlog.py:321(revision)
   9520/5  488.235    0.051 1466.868  293.374 util.py:244(copyfiles)
    42022  400.357    0.010  701.153    0.017 ntpath.py:51(isabs)
    45681  332.409    0.007  332.409    0.007 ntpath.py:116(splitdrive)
     3283  255.591    0.078 2314.300    0.705 revlog.py:168(__init__)
    12803  219.797    0.017  416.540    0.033 ntpath.py:268(isdir)
     3279  197.514    0.060 2688.597    0.820 filelog.py:14(__init__)
     3279  144.774    0.044  392.136    0.120 localrepo.py:148(wjoin)
     3654  141.495    0.039  173.064    0.047 ntpath.py:158(split)
    17553  135.530    0.008  198.356    0.011 revlog.py:210(rev)
     3279  128.514    0.039 2817.111    0.859 localrepo.py:151(file)
    20342  128.305    0.006  132.419    0.007 revlog.py:221(length)
    12484  127.858    0.010  196.776    0.016 stat.py:45(S_ISDIR)
     3279  119.807    0.037  237.587    0.072 dirstate.py:161(update)
     9512  108.685    0.011  250.549    0.026 revlog.py:216(parents)
        2   73.574   36.787  509.875  254.938 revlog.py:420(ancestor)
    12484   68.918    0.006   68.918    0.006 stat.py:29(S_IFMT)
     9036   65.027    0.007   65.027    0.007 util.py:321(os_link)
     4760   64.495    0.014  261.842    0.055 revlog.py:430(ancestors)
    14274   62.826    0.004   62.826    0.004 revlog.py:129(__getitem__)
     3279   58.850    0.018 2446.206    0.746 filelog.py:33(read)
    15166   55.827    0.004   55.996    0.004 revlog.py:102(__getitem__)
    20342   49.965    0.002   49.965    0.002 revlog.py:43(decompress)
     3286   42.821    0.013  202.588    0.062 ntpath.py:205(dirname)
        1   42.216   42.216   64.760   64.760 revlog.py:11(?)
     3280   38.225    0.012   38.225    0.012 ui.py:123(note)
     4757   37.106    0.008   53.687    0.011 revlog.py:209(node)
     3279   26.151    0.008   26.151    0.008 util.py:342(set_exec)
        1   25.843   25.843   25.992   25.992 hg.py:8(?)
     3281   19.498    0.006   19.906    0.006 dirstate.py:129(read)
     3280   18.465    0.006   18.465    0.006 dirstate.py:115(markdirty)
        1   17.512   17.512 128716.482 128716.482 commands.py:2132(<lambda>)
        1   16.357   16.357   23.109   23.109 dirstate.py:197(write)
     3281   15.566    0.005   15.566    0.005 util.py:324(nlinks)
        1   14.622   14.622   16.308   16.308 mdiff.py:8(?)
      7/6   14.495    2.071  124.804   20.801 demandload.py:3(__getattr__)



More information about the Mercurial mailing list