diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2006-02-12 04:57:57 +0300 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-02-12 16:12:39 +0300 |
commit | 070879ca93a7d358086f4c8aff4553493dcb9210 (patch) | |
tree | 741a4ebdfc6cb5898c5229d9d2b78c03ad5aafc4 /name-rev.c | |
parent | 5b766ea9014b4121cb72f424633b6bf9a97308a0 (diff) |
Use a hashtable for objects instead of a sorted list
In a simple test, this brings down the CPU time from 47 sec to 22 sec.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'name-rev.c')
-rw-r--r-- | name-rev.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/name-rev.c b/name-rev.c index bbadb91aa0..0c3f547622 100644 --- a/name-rev.c +++ b/name-rev.c @@ -232,9 +232,10 @@ int main(int argc, char **argv) } else if (all) { int i; - for (i = 0; i < nr_objs; i++) - printf("%s %s\n", sha1_to_hex(objs[i]->sha1), - get_rev_name(objs[i])); + for (i = 0; i < obj_allocs; i++) + if (objs[i]) + printf("%s %s\n", sha1_to_hex(objs[i]->sha1), + get_rev_name(objs[i])); } else for ( ; revs; revs = revs->next) printf("%s %s\n", revs->name, get_rev_name(revs->item)); |