From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Progress report on git-blame Date: Sat, 25 Jan 2014 21:31:36 +0200 Message-ID: <83fvobc0yv.fsf@gnu.org> References: <20140109140226.57D6C38085A@snark.thyrsus.com> <20140110155121.GA8178@thyrsus.com> <20140111205925.GC17111@thyrsus.com> <87y52mdoha.fsf@fencepost.gnu.org> <87fvoceuos.fsf_-_@fencepost.gnu.org> <83d2jgcy5z.fsf@gnu.org> <87vbx8cu8a.fsf@fencepost.gnu.org> <87eh3v7wiq.fsf@building.gnus.org> <8738kb3ndx.fsf@wanadoo.es> <87r47vc2ft.fsf@fencepost.gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1390678324 17701 80.91.229.3 (25 Jan 2014 19:32:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Jan 2014 19:32:04 +0000 (UTC) Cc: emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 25 20:32:11 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W78xf-0006zc-DE for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 20:32:11 +0100 Original-Received: from localhost ([::1]:52324 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W78xf-0007hV-1Z for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 14:32:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W78xY-0007hN-CC for emacs-devel@gnu.org; Sat, 25 Jan 2014 14:32:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W78xT-00068R-2N for emacs-devel@gnu.org; Sat, 25 Jan 2014 14:32:04 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:49544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W78xK-00066E-76; Sat, 25 Jan 2014 14:31:50 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MZZ0050026BQ800@a-mtaout20.012.net.il>; Sat, 25 Jan 2014 21:31:48 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MZZ0056528ZQF00@a-mtaout20.012.net.il>; Sat, 25 Jan 2014 21:31:48 +0200 (IST) In-reply-to: <87r47vc2ft.fsf@fencepost.gnu.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:169075 Archived-At: > From: David Kastrup > Date: Sat, 25 Jan 2014 19:59:50 +0100 >=20 > =D3scar Fuentes writes: >=20 > > Some random data points: > > > > $ time git blame -L 1000,+100 -- src/xdisp.c > /dev/null > > > > real 0m11.034s > > user 0m10.417s > > sys 0m0.599s > > > > > > $ time git blame -L 1000,+1000 -- src/xdisp.c > /dev/null > > > > real 0m15.089s > > user 0m14.297s > > sys 0m0.767s For the record, I get about 9 sec for the first of these and about 12 sec for the second. > > It seems that there is not a lot of a difference among blaming 20= lines > > and blaming 1000. >=20 > It very much depends on _which_ lines. Basically, lines forming a = block > sticking together when doing a unified diff are not all that expens= ive > since they travel in a single data structure. The worst are lots o= f > small changes introduced in different branches. I tried this: time git blame -L 270,+1000 -- src/xdisp.c > /dev/null (you will see that around those line numbers, there's a different commit every couple of lines), and got real 0m11.484s user 0m0.015s sys 0m0.000s A few more examples: $ time git blame -L 2523,+1000 -- src/xdisp.c > /dev/null real 0m15.000s user 0m0.015s sys 0m0.000s $ time git blame -L 9630,+1000 -- src/xdisp.c > /dev/null real 0m10.985s user 0m0.015s sys 0m0.015s $ time git blame -L 10997,+1000 -- src/xdisp.c > /dev/null real 0m15.172s user 0m0.015s sys 0m0.016s So these times are fairly typical for xdisp.c. Which is not surprising, since xdisp.c sees a lot of changes, and thus there's another commit every few lines almost anywhere you look.