summaryrefslogtreecommitdiff
path: root/builtin-fmt-merge-msg.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2007-03-11 02:39:17 (GMT)
committerShawn O. Pearce <spearce@spearce.org>2007-03-12 19:01:44 (GMT)
commitf022f85f6d50b66ac5f4c49830a040627a0d8194 (patch)
tree2a2e5372c9c1e47c4c67e6baf9b0b20549446c47 /builtin-fmt-merge-msg.c
parentfc095242b16d57bad1bfe089f919b9d6e6deda1b (diff)
downloadgit-f022f85f6d50b66ac5f4c49830a040627a0d8194.zip
git-f022f85f6d50b66ac5f4c49830a040627a0d8194.tar.gz
git-f022f85f6d50b66ac5f4c49830a040627a0d8194.tar.bz2
fast-import: grow tree storage more aggressively
When building up a tree for a commit, fast-import dynamically allocates memory for the tree entries. When more space is needed, the allocated memory is increased by a constant amount. For very large trees, this means re-allocating and memcpy()ing the memory O(n) times. To compound this problem, releasing the previous tree resource does not free the memory; it is kept in a pool for future trees. This means that each of the O(n) allocations will consume increasing amounts of memory, giving O(n^2) memory consumption. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'builtin-fmt-merge-msg.c')
0 files changed, 0 insertions, 0 deletions