Rework object refs tracking to reduce memory usage
authorSergey Vlasov <vsu@altlinux.ru>
Tue, 15 Nov 2005 16:08:08 +0000 (19:08 +0300)
committerJunio C Hamano <junkio@cox.net>
Tue, 15 Nov 2005 19:42:29 +0000 (11:42 -0800)
commit4a4e6fd74f7d4564ed43eaaf59b6bd70c1959f1a
tree505862d83f5f0ffae0a2d024e7d0bfb336ddf560
parent545f229a4b43212e683ac63e5aa740324ac7799e
Rework object refs tracking to reduce memory usage

Store pointers to referenced objects in a variable sized array instead
of linked list.  This cuts down memory usage of utilities which use
object references; e.g., git-fsck-objects --full on the git.git
repository consumes about 2 MB of memory tracked by Massif instead of
7 MB before the change.  Object refs are still the biggest consumer of
memory (57%), but the malloc overhead for a single block instead of a
linked list is substantially smaller.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
commit.c
fsck-objects.c
object.c
object.h
server-info.c
tag.c
tree.c