author | Sergey Vlasov <vsu@altlinux.ru> | |
Tue, 15 Nov 2005 16:08:08 +0000 (19:08 +0300) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 15 Nov 2005 19:42:29 +0000 (11:42 -0800) | ||
commit | 4a4e6fd74f7d4564ed43eaaf59b6bd70c1959f1a | |
tree | 505862d83f5f0ffae0a2d024e7d0bfb336ddf560 | tree | snapshot |
parent | 545f229a4b43212e683ac63e5aa740324ac7799e | commit | diff |
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>
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 | diff | blob | history | |
fsck-objects.c | diff | blob | history | |
object.c | diff | blob | history | |
object.h | diff | blob | history | |
server-info.c | diff | blob | history | |
tag.c | diff | blob | history | |
tree.c | diff | blob | history |