Re: [PATCH] Optimize common pattern of alloc_ref from string
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 11, 2008, 18:39 UTC
- Message-ID
- <7vskwo3ct5.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20080511080709.GA6971@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
> But really my main worry is that now we have _two_ functions which > allocate refs, so if "struct ref" ever grows a new field that needs > initializing, it has to go in two places (whereas if alloc_ref_from_str > calls alloc_ref, it works automatically).
This is a very good point. We really do not want a micro-optimization in a way that hurts maintainability.
Krzysztof's patch has the new function with the duplicated allocation implementation between the base allocator function and the existing copy_ref() function which also has yet another duplicated allocation implementation. When somebody needs to modify one, it is likely to be noticed that these three go hand-in-hand, hopefully ;-).
By the way, why isn't alloc_ref() doing xcalloc(), I have to wonder...