Re: git-diff-tree -M performance regression in 'next'
- From
Junio C Hamano <junkio@cox.net>
- Date
- Mar 13, 2006, 01:22 UTC
- Message-ID
- <7vhd63w33n.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0603121700410.3618@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
> Umm. Why do you rehash at all? > > Just take the size of the "src" file as the initial hash size.
The code uses close to 16-bit hash and I had 65k flat array as a hashtable. That one was what you commented as "4-times as many page misses".
Interestingly enough, that kind of flat array representation seems to be too sparse and gives very bad performance behaviour.
The improvement I mentioned in the message you are replying to is the result of making it into smaller (starting at (1<<9) or something like that) linear-overflowing hash.
The latter suggestion I need to think about it a bit more.