From: Johannes Schindelin Date: Tue, 08 May 2007 11:16:37 GMT Subject: gitk and git-gui, was Re: FFmpeg considering GIT Message-ID: In-Reply-To: <20070508041939.GK11311@spearce.org> Hi, On Tue, 8 May 2007, Shawn O. Pearce wrote: > Paul Mackerras 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