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