On Fri, Jun 5, 2009 at 2:18 AM, Georg<gwk....@googlemail.com> wrote: > Good hint! It didn't solve the problem but provided more insight. > > My batch size was unspecified (default 500). I tried lowering it to 50, and > the problem was still there. But now I realized that once I have scrolled > all the way to the bottom (of the batch), it becomes fast thereafter! > > Apparently there is some information fetched on demand when one first > scrolls to a page, even within a batch. Once that has been fetched, it is > remembered and future references will be fast. > > Probably you have an idea what it is doing here, what kind of information it > is fetching on demand. Perhaps this is caused by an underlying Hg call being > slow. If that's the case, perhaps this information could be fetched by a > background thread. Usually the display is visible since a couple seconds > before one tries scrolling or searching, so a background thread could > utilize that time without adding further wait time for the user. But I'm too > far ahead speculating. Should wait for your assessment.
It does indeed load the data for the rows on demand. For the curious, this is the code in hggtk/logview/treemodel.py on_get_value(). The graph generator generates rows with just revision and parent info (enough to draw the graph column). As the treeview tries to display rows, it calls this function to get the data. It keeps fully loaded rows in a dict cache, and generates those entries as needed (the 'revid not in self.revisions' code path). Normally this is so fast you don't notice it, since it's just acquiring a context and querying the changelog data. Hmm, does your repo have a lot of branches? Perhaps some of these operations are slow in certain repositories. -- Steve Borho ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Tortoisehg-discuss mailing list Tortoisehg-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss