GUI performance with large repos (100k changesets)
Steve Borho
steve at borho.org
Wed Jun 10 13:40:03 CDT 2009
On Wed, Jun 10, 2009 at 1:21 PM, Greg Ward<greg-hg at gerg.ca> wrote:
> 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.
Thanks for the test-drive. The Changelog will get a big refactor in
0.9 to simplify the treemodel and hopefully improve the memory and UI
performance under load.
Glad it's at least tolerable when you're working near the tip.
--
Steve Borho
More information about the Mercurial
mailing list