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

Re: gitk startup time improvement

From
Alex Riesen <raa.lkml@gmail.com>
Date
Aug 30, 2007, 20:42 UTC
Message-ID
<20070830204222.GB15405@steel.home>
In-Reply-To
<18134.45449.527540.940620@cargo.ozlabs.ibm.com>
Paul Mackerras, Thu, Aug 30, 2007 14:01:13 +0200:
Show 12 quoted lines
> In the 'dev' branch of the gitk.git repository at
> 
> git://git.kernel.org/pub/scm/gitk/gitk.git
> 
> there is now a version of gitk that is much faster at starting up than
> the standard version.  Firstly, it doesn't lay out the whole graph,
> only the parts that get displayed (plus a little bit either side), and
> secondly, it caches the topology information that is used to determine
> which tags a commit precedes and follows, and which branches it is on.
> 
> I'd like people to try it.  Comments, bug reports, patches etc. are
> welcome, of course.

Well, it works. The improvements are not very noticeable, though (I tried git and kernel repos). Besides, there is a slight delay (~1-2 sec) in kernel repo (writing the cache out?) on exit.

I used gitk from this commit:
    commit 5cd15b6b7f87dc61f729ad31a682ffc394560273
    Author: Paul Mackerras <paulus@samba.org>
    Date:   Thu Aug 30 21:54:17 2007 +1000
	gitk: Add a cache for the topology info

BTW, what should happen if I try running many gitks in the same repo? Is the cache safe for concurrent writing by them? Is it NFS-safe?

Previous: Bart Trojanowski
Message 4 of 4 in “gitk startup time improvement”
  1. Paul MackerrasAug 30, 2007
  2. David TweedAug 30, 2007
  3. Bart TrojanowskiAug 30, 2007
  4. Alex RiesenAug 30, 2007

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.