https://github.com/git/git
Revision 2f85b7e4b421ab032cc2342808640479a988277f authored by Shawn O. Pearce on 02 June 2007, 20:01:43 UTC, committed by Shawn O. Pearce on 06 June 2007, 05:26:50 UTC
The Tcl list datatype is significantly faster to work with than
the array type, especially if our indexes are a consecutive set
of numbers, like say line numbers in a file.

This rather large change reorganizes the internal data structure
of the blame viewer to use a proper Tcl list for the annotation
information about a line.  Each line is given its own list within
the larger line_data list, where the indexes correspond to various
facts about that particular line.

The interface does seem to be more responsive this way, with less
time required by Tcl to process blame, and to switch to another
version of the same file.  It could just be a placebo effect, but
either way most Tcl experts perfer lists for this type of work over
arrays.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
1 parent 14c4dfd
History
Tip revision: 2f85b7e4b421ab032cc2342808640479a988277f authored by Shawn O. Pearce on 02 June 2007, 20:01:43 UTC
git-gui: Switch internal blame structure to Tcl lists
Tip revision: 2f85b7e
File Mode Size
lib
.gitignore -rw-r--r-- 62 bytes
GIT-VERSION-GEN -rwxr-xr-x 1.8 KB
Makefile -rw-r--r-- 3.5 KB
git-gui.sh -rwxr-xr-x 56.1 KB

back to top