gitk and git-gui, was Re: FFmpeg considering GIT
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 8, 2007, 11:16 UTC
- Message-ID
- <Pine.LNX.4.64.0705081311550.4167@racer.site>
- In-Reply-To
- <20070508041939.GK11311@spearce.org>
Hi,
On Tue, 8 May 2007, Shawn O. Pearce wrote:
Show 11 quoted lines
> Paul Mackerras <paulus@samba.org> wrote: > > > Gitk ends up handling pretty significant amounts of data. In > > particular the per-commit data can get to gigabytes, and processing it > > is pretty cpu-intensive. I did try using namespaces for the > > per-commit data but I found that the performance hit to be more than I > > was willing to tolerate. > > If that is the case then an obvious direction is to start using C for > the actual Git operations/datastore and Tcl/Tk for the basic UI layout > and event handlers.
It might be a much better idea to write something a la git-fetch--tool, which is a helper in C (thus very fast and memory efficient), outputting easily parseable data.
For example, when constructing the commit graph, the calculations could be done in C, and Tcl/Tk could do _just_ the display. AFAIK tig already has the algorithm implemented in C...
The big benefits would not only be that you can compile this without the headers/libs of Tcl/Tk (possibly avoiding the problem we experienced when trying to compile Git with gcc, and linking to Perl, which was compiled with a different compiler), but other Git viewers could take this output as well, avoiding reimplementing the algorithm in Ruby or Haskell.
Ciao, Dscho