Mercurial Performance Problem

Guido Ostkamp hg at ostkamp.fastmail.fm
Wed May 16 10:23:10 UTC 2007


Hello,

unfortunately I have quite a performance problem with Mercurial.
My mercurial version is ba22e867cb23+20070510.

I changed a file in my large repository, then I tried a 
'hg diff pathname' on it.

This simple call took over 12 seconds on my Linux server 
to complete.

I investigated using 'strace' and it appears Mercurial
is using tons of lstat() and getdents() calls. In my case I 
counted 29009 lstat64() and 4634 getdents64() calls. lstat
is called for tons of files that have nothing to do with
my change.

I have the same repository in Git. There I get the response
in almost no time with just 12 lstat() calls and 2 getdents().

Can somebody have a look at this?

Regards

Guido



More information about the Mercurial mailing list