From: Junio C Hamano Date: Thu, 05 Oct 2006 01:24:19 GMT Subject: Re: [PATCH 2/2] gitweb: blame: All rows have title; print 8 SP when no leading commit-8 Message-ID: <7vwt7fimgs.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20061005010215.63402.qmail@web31811.mail.mud.yahoo.com> Luben Tuikov writes: > Print eight spaces when no leading commit is being printed. > I.e. on all rows of a commit-block, but the first. This fixes > alignment in the destination buffer when blame data lines > are cut and pasted. > > Also, now all rows have title. Its visuals might be Ok (I haven't had chance to try it), but I am a bit worried about the output size bloat. What kind of bloat factor are we talking about with this patch? - compared to the ancient original, which used to have commit-8 on all lines, title * N lines for a file that is N lines long. A title ("$author, $date") is about say 30 bytes or so so for a file that is on average 25 bytes per line (this is from "wc *.c" in git.git repository ) we are now spewing out roughly twice the bytes back to the browser (25+8 vs 25+8+30) - compared to "only first in the block" version, assuming an average group size is 10 lines or so (this is a totally made up number) we are adding 72 extra bytes per 10 lines for commit-8 on top of the title bloat which would be 270 bytes per 10 lines. Again assuming 25-byte per line average, that is 250+8+30 vs 250+80+300 per 10 lines. Again, roughly twice. I am not sure what the numbers of the chunked one I just reverted from "next" compared to the original. For the same group size assumption, it added 8 bytes for commit-8 and 30 bytes for title per the N lines, but we are assuming 10-line blocks, so 38 byte overhead per 10 lines, which is 250+80 vs 250+38, so it might have been actually slimmer than the original.