On Tue, Oct 15, 2013 at 10:52:55AM -0700, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > >> Yeah, unrolling the loop is probably better. You may even be able > >> to do so in a single pass with an extra "last > seen" pointer > >> variable without too much additional code complexity, I would think. > > > > I'm not sure what you mean here. > > > If you mean doing a single pass to find the final ">", that is easy, > > because we know the length of the line already and can jump past and > > start from the back. > > I meant a single forward pass, like this. Ah, I see. You are combining with the pass before, not the pass after. I do not think this is any more (nor less) efficient than what I posted. We still pass over the space after split->mail_end one additional time searching for the closing bracket. Mine is _slightly_ more efficient in that by going backwards we can stop when we see the first '>', avoiding looking at the space between "mail_end" and "last_ket". But that space is 0 in the normal case, and even if it is not, we are talking about tens of bytes at most. So I doubt it would ever matter. My version seems a little clearer to me, but that is probably because I wrote it. If you strongly prefer the other, feel free to mark up my patch. -Peff PS I learned a new term, "ket". I always called it "closing angle bracket". -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html