statdaemon extension

Idan Kamara idankk86 at
Tue Aug 21 06:24:07 CDT 2012

On Tue, Aug 21, 2012 at 1:59 PM, Martin Geisler <mg at> wrote:
> Hi guys,
> I've been working on making Mercurial faster on Windows: a client
> contacted us because TortoiseHg was super slow: clicking on the "working
> directory" line took 15 seconds. This is with Windows XP on a fast
> machine. The repository has about 75k files, is on a SSD, and virus
> scanning was disabled for the working copy.

Cool stuff!

You can probably get a significant boost from porting chg[1] to
Windows too.

> Some spring cleaning brought down the number of files, but to make
> things faster I've begun implementing a statdaemon -- an inotify-like
> daemon that will keep track of the file system state.
> It's on Bitbucket:
> On a repository with 63k files, 'hg status --time' goes from 2.9 sec to
> 1.8 sec with the extension enabled. I get the same result with
> Measure-Command in PowerShell.
> Strangely, I see the time go from 2.4 sec to 2.7 sec when I use 'hg
> perfstatus' to measure the time.
> Bugs:
> With the big tree, I see stale results in 'hg status', even though I see
> that the statdaemon is updating its cache when I make changes. I haven't
> tracked this down yet and the tests (yay, tests on Windows!) haven't
> captured it yet.

Pretty sure the file notification API is known to sometimes fail to
report some changes. Especially when there's a burst of incoming
changes that cause some underlying buffer to fill up.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Mercurial-devel mailing list