Impact of repo.status() calls

Greg Ward greg at
Tue Nov 16 10:45:55 CST 2010

On Sat, Nov 13, 2010 at 10:56 AM, Steve Borho <steve at> wrote:
> I just pushed a workaround for this to the stable branch.  Hope that helps.
> changeset:   9353:8d8f200b5480
> user:        Steve Borho <steve at>
> date:        Sat Nov 13 09:54:52 2010 -0600
> summary:     changeset: keep repo.status() output and provide to patch.diff()

Just testing the effects of this now.  Yes, I realize that introduced
a bug.  I'll compare pre-8d8f200b5480, 8d8f200b5480, and

First, pre-8d8f200b5480 (specifically, 4b9d3e3fe51a).

Confirmed that selecting one file in the lower-left pane calls
repo.status(REV1, REV2).  Takes ~0.5 sec for each click.

Confirmed that selecting "[All Files]" calls repo.status(REV1, REV2) N
times, where N is the number of files in the changeset.  Using a cset
with 6 files, it takes ~2.5 sec to get a response from clicking "[All

Now update to 8d8f200b5480.

Confirmed that the redundant repo.status() calls are all gone.  Time
to click a single file: it feels a smidge faster.  It's still not down
to the 0.1 sec/click that usability people tell us to shoot for, and
I'm not coordinated enough with a stopwatch to tell you how much
better than 0.5 sec/click it is.  But it feels a little better.

Selecting "[All Files]": 1.9 sec/click.  That's progress!

I'm not fast enough with my stopwatch to tell if it's markedly better
than 0.5 sec per click, though.

Finally, update to

Clicking on individual files is definitely snappier!  I'm unable to
measure it with my stopwatch, but I'd say it's still above 0.1 sec (I
can perceive a delay), but low enough that I'm not going to complain
any more.

Clicking on "[All Files]" feels about the same: ~1.9 sec/click.
Perhaps a smidge faster, but that might just be experimental error.



More information about the Mercurial-devel mailing list