From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Progress report on git-blame Date: Sat, 25 Jan 2014 20:44:56 +0100 Message-ID: <87y52326dj.fsf@wanadoo.es> 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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1390679121 25400 80.91.229.3 (25 Jan 2014 19:45:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Jan 2014 19:45:21 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 25 20:45:27 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 1W79AV-0003ih-CN for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 20:45:27 +0100 Original-Received: from localhost ([::1]:52345 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W79AV-0001F9-0n for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 14:45:27 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W79AJ-0001Et-Gx for emacs-devel@gnu.org; Sat, 25 Jan 2014 14:45:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W79AC-0001AO-Qh for emacs-devel@gnu.org; Sat, 25 Jan 2014 14:45:15 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:33246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W79AC-00017H-G8 for emacs-devel@gnu.org; Sat, 25 Jan 2014 14:45:08 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W79AA-0003ZL-S7 for emacs-devel@gnu.org; Sat, 25 Jan 2014 20:45:06 +0100 Original-Received: from 231.red-83-41-62.dynamicip.rima-tde.net ([83.41.62.231]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 25 Jan 2014 20:45:06 +0100 Original-Received: from ofv by 231.red-83-41-62.dynamicip.rima-tde.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 25 Jan 2014 20:45:06 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 33 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 231.red-83-41-62.dynamicip.rima-tde.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:A6Nt4cbSQr5FdXLK+9AREkG3dJo= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:169077 Archived-At: David Kastrup writes: >> It seems that there is not a lot of a difference among blaming 20 lines >> and blaming 1000. > > It very much depends on _which_ lines. Basically, lines forming a block > sticking together when doing a unified diff are not all that expensive > since they travel in a single data structure. The worst are lots of > small changes introduced in different branches. I suspected some effect like that, so before posting I tried other file segments and most of them required the same time as the one showed, with the rest requiring less time (7s vs 11s) >> AFAIK current `blame' functionality on VC (and on git-blame.el) is >> based on working on the whole file, > > Sure? Not, really, but almost. :-) It seems quite clear that vc-annotate just displays the output of the underlying VC tool. > If so, it maybe should at least be made to support git blame > --incremental usefully. Of course --incremental can also apply to a line-range blame. From trying a couple of times it seems that the most recently changed lines were annotated first, so for Lars' case of checking if some line on the range was recently changed, he would have the relevant info sooner (but if all the lines are old, he would have to wait until some line is annotated to know the fact; in that case there is no significant time again over non-incremental annotation, so speeding up `git blame' is worthy in any case.)