Re: [PATCH] split_ident: parse timestamp from end of line
- From
Jeff King <peff@peff.net>
- Date
- Oct 15, 2013, 18:03 UTC
- Message-ID
- <20131015180312.GA26845@sigill.intra.peff.net>
- In-Reply-To
- <xmqqob6qe808.fsf@gitster.dls.corp.google.com>
On Tue, Oct 15, 2013 at 10:52:55AM -0700, Junio C Hamano wrote:
Show 13 quoted lines
> Jeff King <peff@peff.net> 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".