name-hash: specify initial size for istate.dir_hash table
commit16f9b4cdd31de2b8185c5c717efa6d28c56b3c74
authorJeff Hostetler <jeffhost@microsoft.com>
Wed, 22 Mar 2017 17:14:20 +0000 (22 17:14 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Mar 2017 20:41:41 +0000 (22 13:41 -0700)
tree47eaff4a345e516eacb01aca97683630ab308c36
parent3b9e3c2cede15057af3ff8076c45ad5f33829436
name-hash: specify initial size for istate.dir_hash table

Specify an initial size for the istate.dir_hash HashMap matching
the size of the istate.name_hash.

Previously hashmap_init() was given 0, causing a 64 bucket
hashmap to be created.  When working with very large
repositories, this would cause numerous rehash() calls to
realloc and rebalance the hashmap. This is especially true
when the worktree is deep, with many directories containing
a few files.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
name-hash.c