pack-write: skip *.rev work when not writing *.rev
Fix a performance regression introduced ina587b5a786
(pack-write.c: extract 'write_rev_file_order', 2021-03-30) and stop needlessly allocating the "pack_order" array and sorting it with "pack_order_cmp()", only to throw that work away when we discover that we're not writing *.rev files after all. This redundant work was not present in the original version of this code added in8ef50d9958
(pack-write.c: prepare to write 'pack-*.rev' files, 2021-01-25). There we'd call write_rev_file() from e.g. finish_tmp_packfile(), but we'd "return NULL" early in write_rev_file() if not doing a "WRITE_REV" or "WRITE_REV_VERIFY". Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ebf3c04b26
commit
8fe8bae9d2
@ -224,6 +224,9 @@ const char *write_rev_file(const char *rev_name,
|
||||
uint32_t i;
|
||||
const char *ret;
|
||||
|
||||
if (!(flags & WRITE_REV) && !(flags & WRITE_REV_VERIFY))
|
||||
return NULL;
|
||||
|
||||
ALLOC_ARRAY(pack_order, nr_objects);
|
||||
for (i = 0; i < nr_objects; i++)
|
||||
pack_order[i] = i;
|
||||
|
Loading…
Reference in New Issue
Block a user