Hi, On Tue, 8 May 2007, Shawn O. Pearce wrote: > Paul Mackerras <paulus@xxxxxxxxx> 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html