Speed on Windows for big repos
Adrian Buehlmann
adrian at cadifra.com
Mon Jan 28 00:09:29 UTC 2008
I did some --lsprof using repo http://www.selenic.com/hg/.
'''
Mercurial on Windows XP SP2, 2.4 GHz Pentium 4, 1 GB RAM, ATA-HD using NTFS
Sampled by Adrian Buehlmann on 2008-01-28
------------------------------------------------------------------------------
> ver
Microsoft Windows XP [Version 5.1.2600]
> hg version
Mercurial Distributed SCM (version 02884e56c217+win32extras)
> hg clone --noupdate --time --lsprof http://www.selenic.com/hg/ mercurial
requesting all changes
adding changesets
adding manifests
adding file changes
added 5930 changesets with 11128 changes to 800 files
CallCount Total(s) Inline(s) module:lineno(function)
3859 105.8043 105.8043 <win32file.FlushFileBuffers>
4696 37.9334 37.9334 <method 'recv' of '_socket.socket' objects>
27104 5.4927 5.4927 <zlib.compress>
802 160.4870 1.6750 <mercurial\revlog.pyc>:1128(addgroup)
+57681 1.5920 0.6826 +<mercurial\util_win32.pyc>:277(write)
+3759 4.4434 0.3680 +<mercurial\revlog.pyc>:1018(_addrevision)
+3759 2.9183 0.2492 +<mercurial\revlog.pyc>:919(revision)
+22184 4.4959 0.2055 +<mercurial\revlog.pyc>:65(compress)
+22986 0.2982 0.1534 +<mercurial\revlog.pyc>:534(end)
7421 1.6561 1.6561 <win32file.CreateFile>
83773 2.3729 0.9866 <mercurial\util_win32.pyc>:277(write)
+60247 0.6733 0.6733 +<win32file.WriteFile>
+68909 0.5032 0.5032 +<win32file.SetFilePointer>
+144020 0.2098 0.2098 +<len>
1 0.8228 0.8228 <<string>>:1(connect)
60247 0.6733 0.6733 <win32file.WriteFile>
439171 0.6672 0.6672 <len>
+10 0.0000 0.0000 +<sre_parse.pyc>:132(__len__)
89646 0.5939 0.5939 <win32file.SetFilePointer>
Time: real 166.533 secs (user 8.625+0.000 sys 13.000+0.000)
> hg clone --pull --noupdate --time --lsprof mercurial mercurial-cloned
requesting all changes
adding changesets
adding manifests
adding file changes
added 5930 changesets with 11128 changes to 800 files
CallCount Total(s) Inline(s) module:lineno(function)
3859 110.3833 110.3833 <win32file.FlushFileBuffers>
27104 5.4330 5.4330 <zlib.compress>
15087 3.0310 3.0310 <win32file.ReadFile>
19933 2.2309 2.2309 <win32file.CreateFile>
802 143.4826 1.7359 <mercurial\revlog.pyc>:1128(addgroup)
+57681 1.5895 0.6773 +<mercurial\util_win32.pyc>:277(write)
+3759 4.6457 0.3835 +<mercurial\revlog.pyc>:1018(_addrevision)
+3759 2.8817 0.2409 +<mercurial\revlog.pyc>:919(revision)
+22184 4.3611 0.2089 +<mercurial\revlog.pyc>:65(compress)
+22986 0.3035 0.1583 +<mercurial\revlog.pyc>:534(end)
55787 5.1336 1.2139 <mercurial\revlog.pyc>:869(chunk)
+55787 0.2582 0.2582 +<mercurial\revlog.pyc>:532(start)
+55787 1.4169 0.2392 +<mercurial\revlog.pyc>:94(decompress)
+55787 0.1172 0.1172 +<mercurial\revlog.pyc>:536(length)
+2709 2.0280 0.1078 +<mercurial\revlog.pyc>:870(loadcache)
+55709 0.0869 0.0869 +<len>
42454 1.1778 1.1778 <zlib.decompress>
48375 15.3070 0.9898 <mercurial\util.pyc>:1437(read)
+71362 13.8145 0.3262 +<mercurial\localrepo.pyc>:1816(gengroup)
+168323 0.2525 0.2525 +<len>
+71573 0.2102 0.2102 +<method 'write' of 'cStringIO.StringO'
objects>
+212 0.0283 0.0283 +<method 'getvalue' of
'cStringIO.StringO' objects>
+212 0.0098 0.0039
+<mercurial\demandimport.pyc>:71(__getattribute__)
83773 2.3650 0.9762 <mercurial\util_win32.pyc>:277(write)
+60247 0.6773 0.6773 +<win32file.WriteFile>
+68909 0.5020 0.5020 +<win32file.SetFilePointer>
+144020 0.2095 0.2095 +<len>
645476 0.9716 0.9716 <len>
Time: real 146.395 secs (user 13.297+0.000 sys 20.531+0.000)
'''
Available at
http://www.selenic.com/mercurial/wiki/index.cgi/AdrianBuehlmann?action=AttachFile&do=view&target=hg-profile-2008-01-28-001-abuehl.txt
which contains an additional "hg verify"
More information about the Mercurial-devel
mailing list