Re: [ANNOUNCE] Git v2.19.0-rc0
From: Jonathan Nieder <hidden>
Date: 2018-08-23 02:28:01
Jeff King wrote:
FWIW, it's not 10%. The best I measured was ~4% on a very hashcmp-limited operation, and I suspect even that may be highly dependent on the compiler. We might be able to improve more by sprinkling more asserts around, but there are 75 mentions of the_hash_algo->rawsz. I wouldn't want to an assert at each one. I don't mind doing one or a handful of these asserts as part of v2.19 if we want to try to reclaim those few percent. But I suspect the very first commit in any further hash-transition work is just going to be to rip them all out.
I was thinking just hashcmp and hashcpy. Ideally such a change would come with a performance test to help the person writing that very first commit. Except we already have performance tests that capture this. ;-) For further hash-transition work, I agree someone may want to revert this, and I don't mind such a revert appearing right away in "next". And it's possible that we might have to do the equivalent of manual template expansion to recover the performance in some performance-sensitive areas. Maybe we can get the compiler to cooperate with us in that and maybe we can't. That's okay with me. Anyway, I'll resend your patch with a commit message added some time this evening. Thanks, Jonathan