threads / discuss / 9705

gitk startup time improvement

Subject: gitk startup time improvement

## tl;dr

4 messages between Aug 30, 2007 and Aug 30, 2007.

replies: 3people: 4as markdown or json

Paul Mackerras· Aug 30, 2007, 12:01 UTC · lore
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.

Paul.
David Tweed· Aug 30, 2007, 15:16 UTC · re: Paul Mackerras · lore

Re: gitk startup time improvement

On 8/30/07, Paul Mackerras <paulus@samba.org> wrote:
> I'd like people to try it.  Comments, bug reports, patches etc. are
> welcome, of course.

My main repo is too small to show performance issues as of the gitk version included in 1.5.3.rc5, but FWIW the startup times for both 1.5.3.rc5 & your branch are both less than 1s (with warm cache).

-- 
cheers, dave tweed__________________________
david.tweed@gmail.com
Rm 124, School of Systems Engineering, University of Reading.
"we had no idea that when we added templates we were adding a Turing-
complete compile-time language." -- C++ standardisation committee
Bart Trojanowski· Aug 30, 2007, 16:42 UTC · re: Paul Mackerras · lore

Re: gitk startup time improvement

* Paul Mackerras <paulus@samba.org> [070830 08:01]:
> I'd like people to try it.  Comments, bug reports, patches etc. are
> welcome, of course.

I am getting about a 4x improvement (1s vs 4s) running the 'dev' gitk on the kernel tree, with warm cache.

-Bart
-- 
				WebSig: http://www.jukie.net/~bart/sig/
Alex Riesen· Aug 30, 2007, 20:42 UTC · re: Paul Mackerras · lore

Re: gitk startup time improvement

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?

← back to recent threads