Skip to content

Commit de551d4

Browse files
dotdashgitster
authored andcommitted
process_{tree,blob}: Remove useless xstrdup calls
The name of the processed object was duplicated for passing it to add_object(), but that already calls path_name, which allocates a new string anyway. So the memory allocated by the xstrdup calls just went nowhere, leaking memory. This reduces the RSS usage for a "rev-list --all --objects" by about 10% on the gentoo repo (fully packed) as well as linux-2.6.git: gentoo: | old | new ----------------|------------------------------- RSS | 1537284 | 1388408 VSZ | 1816852 | 1667952 time elapsed | 1:49.62 | 1:48.99 min. page faults| 417178 | 379919 linux-2.6.git: | old | new ----------------|------------------------------- RSS | 324452 | 292996 VSZ | 491792 | 460376 time elapsed | 0:14.53 | 0:14.28 min. page faults| 89360 | 81613 Signed-off-by: Björn Steinbrink <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 20ff3ec commit de551d4

File tree

2 files changed

+0
-3
lines changed

2 files changed

+0
-3
lines changed

list-objects.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ static void process_blob(struct rev_info *revs,
2323
if (obj->flags & (UNINTERESTING | SEEN))
2424
return;
2525
obj->flags |= SEEN;
26-
name = xstrdup(name);
2726
add_object(obj, p, path, name);
2827
}
2928

@@ -78,7 +77,6 @@ static void process_tree(struct rev_info *revs,
7877
if (parse_tree(tree) < 0)
7978
die("bad tree object %s", sha1_to_hex(obj->sha1));
8079
obj->flags |= SEEN;
81-
name = xstrdup(name);
8280
add_object(obj, p, path, name);
8381
me.up = path;
8482
me.elem = name;

reachable.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ static void process_tree(struct tree *tree,
4848
obj->flags |= SEEN;
4949
if (parse_tree(tree) < 0)
5050
die("bad tree object %s", sha1_to_hex(obj->sha1));
51-
name = xstrdup(name);
5251
add_object(obj, p, path, name);
5352
me.up = path;
5453
me.elem = name;

0 commit comments

Comments
 (0)