From: Duy Nguyen Date: Sun, 17 Mar 2013 05:39:39 GMT Subject: Re: [PATCH] Preallocate hash tables when the number of inserts are known in advance Message-ID: In-Reply-To: <7vzjy2si7l.fsf@alter.siamese.dyndns.org> On Sun, Mar 17, 2013 at 12:34 PM, Junio C Hamano wrote: > Nguyễn Thái Ngọc Duy writes: > >> This avoids unnecessary re-allocations and reinsertions. On webkit.git >> (i.e. about 182k inserts to the name hash table), this reduces about >> 100ms out of 3s user time. >> >> Signed-off-by: Nguyễn Thái Ngọc Duy > > I think this is a very good idea, but I would prefer the second > parameter to the "preallocate" to be "expected number of entries" > and have the preallocate, which is a part of the hash API, decide > how to inflate that number to adjust to the desired load factor of > the hash table. We shouldn't have to adjust the caller when the > internal implementation of the hash table changes. OK will do. >> --- >> nd/read-directory-recursive-optim reduces the number of input (from >> 182k to 11k on webkit) to exclude machinery that all patches in the >> exclude optimization series I posted seem insignificant. So I won't >> repost them for inclusion unless you think it has cleanup values. > > Sorry, without a pointer, it is unclear what "exclude optimization > series" you are referring to. http://thread.gmane.org/gmane.comp.version-control.git/217697/focus=217950 -- Duy