How to speed up diff computing?

Ulrich Pfeifer pfeifer at wait.de
Fri Feb 20 12:32:09 CST 2009


Hello,

 > How big is the largest file in your repository and how much memory do
 > you have on your server? Are you seeing significant swapping on your
 > server?

the central server is a 16GB 2 processor sun workstation.  It does not
swap.  The repository contains 25308 change sets and the active file
set is 13781 files.  There are a number of binary big files in it
(2-4MB).  I have to admit, that it runs a pretty old version of
mercurial (0.9.5).  We will upgrade eventually - would you expect
significant speedup?

Thanks for caring,

Ulrich

% du -s .hg
195288	.hg
% hg log -l 1
changeset:   25308:3b80667b80cb
% hg version
Mercurial Distributed SCM (version 0.9.5)
% find * -type f -ls | awk '{print $7}' | sort -n | tail -10
3099652
3141941
3143011
3153920
3726336
3732015
3777040
3854459
3860138
4560724

Matt Mackall wrote:
> On Fri, 2009-02-20 at 17:49 +0100, Ulrich Pfeifer wrote:
>> Hello,
>>
>> we have a quite big repository and use the changegroup.notify hook to
>> send diff mails to a mailing list for review.
>>
>>     changegroup.notify = python:hgext.notify.hook
>>
>> The problem now is, that the hook consumes considerable time.
>>
>> Now we want to change the setup to use the incoming hook on the
>> central repository.
>>
>>     incoming.notify    = python:hgext.notify.hook
>>
>> Now the response times are prohibitively long (several minutes).
> 
> That shouldn't be happening. 
> 
> Does generating a diff take a long time on the command line?
> 
> How big is the largest file in your repository and how much memory do
> you have on your server? Are you seeing significant swapping on your
> server?
> 


More information about the Mercurial mailing list