git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [EGIT PATCH 1/4] Change history page table to SWT.VIRTUAL.

From
Shawn O. Pearce <spearce@spearce.org>
Date
Apr 1, 2008, 04:12 UTC
Message-ID
<20080401041203.GR10274@spearce.org>
In-Reply-To
<47F1B1D9.3090209@intelinet.com.br>
"Roger C. Soares" <rogersoares@intelinet.com.br> wrote:
Show 12 quoted lines
>
> >Hmm.  I didn't notice that, but at this point its so damn fast for
> >me that I don't have the reflexes to really try and use the table
> >before GenerateHistoryJob is complete.  I'll have to add some sleeps
> >in there to make it slow down its work and see if I can reproduce
> >what you are describing.
>
> Yep, I noticed it while debuging and don't think it's very important. 
> I'm very happy with the current speed and it's also almost instant to 
> me. I think the lazy provider could be of some help in case someone is 
> reading from a slow nfs partition or something like that. It's very 
> border case thought.

Actually I think the trick to use there is the "early output and restart" that C Git's rev-list and gitk learned about two months back. We don't do this in jgit yet and that means we have to produce _all_ commits before we can topologically sort them and return even the first commit.

We should be able to produce results immediately and then force a reset and redraw of the table when we find the rare cases where topological sorting gets violated by honoring the standard commit date ordering.

There aren't many such cases in git.git or linux-2.6.git. They only happen if clock skew is enough that folks are able to create multiple commits at the same time that are out of order according to topology. And remember that in the GUI we do wind up redrawing the table anyway as we add new items to the end of it. So its really no big deal to just reset everything and restart when we find the violations.

Its on my list of things to add to the jgit machinary, but I'm also looking to get push[*1*] and merge implemented. I am reasonably happy with the performance of the History view, as its actually now usuable on real projects. So its time to add new features, rather than optimizing old ones.

[*1*]  Hopefully this is a successful GSoC 2008 project.  ;-)
-- 
Shawn.
Previous: Roger C. Soares
Message 6 of 6 in “Change history page table to SWT.VIRTUAL.”
  1. 1/4 Change history page table to SWT.VIRTUAL.Roger C. Soares, Mar 30, 2008
  2. Shawn O. PearceMar 31, 2008
  3. Roger C. SoaresApr 1, 2008
  4. Shawn O. PearceApr 1, 2008
  5. Roger C. SoaresApr 1, 2008
  6. Shawn O. PearceApr 1, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.