GUI performance with large repos (100k changesets)
Greg Ward
greg-hg at gerg.ca
Wed Jun 10 13:21:21 CDT 2009
On Wed, Jun 10, 2009 at 1:48 PM, Steve Borho<steve at borho.org> wrote:
> I'm curious to know how the tip of hgtk deals with that repository.
> Care to run a test?
Certainly! It looks like hgview has priced itself out of the market:
we're using CentOS 5, which only includes Qt 3, which means requiring
PyQt 4 makes it more trouble than it's worth to try hgview. I can
play with it at home, where I use reasonably up-to-date OS versions,
but it's painful at work.
So, on to TortoiseHg:
* time to usable GUI: 8 sec (N.B. the only indication that it's
working is the word "Running" in the lower left: perhaps a stopwatch
cursor is called for here?)
* memory use while looking at the first 500 revs: ~180 MB (from
Linux "ps v": DRS=184878, RSS=116056)
* time to read next 500 revs: ~1 sec
* time to read next 500 revs: ~2 sec
* time to read next 500 revs: ~3 sec (yes, it appears to get
progressively slower)
* memory use when looking at 2000 revs: ~200 MB (DRS=203922, RSS=135080)
So far so good. Your trick of only showing the top 500 revs feels
like a big win. Overall poking-around-the-GUI-looking-at-stuff is a
bit sluggish, but tolerable.
Now, I'm gonna make it *hurt* and hit the "show all" button...
* the GUI is not very responsive while that's going: takes ~4 sec to
redraw after iconifying and re-exposing; pretty much any GUI operation
takes 4-6 sec to get any response at all
* after ~6 min (?), it has read ~10,000 revisions and memory use is
up to ~590 MB
* hitting Ctrl-C in the terminal where I launched hgtk did not work
immediately: had to hit it several times to kill hgtk.
Oh yeah, I forgot to mention: the specs on this repository are a
little different from what I posted last week. I'm now converting
some CVS tags, and I'm converting with --branchsort. Thus, the
repository has ~134,000 revisions and takes up 652 MB (no working
copy). There are ~26,000 files.
Greg
More information about the Mercurial
mailing list