emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Progress report on git-blame


From: Eli Zaretskii
Subject: Re: Progress report on git-blame
Date: Sat, 25 Jan 2014 21:31:36 +0200

> From: David Kastrup <address@hidden>
> Date: Sat, 25 Jan 2014 19:59:50 +0100
> 
> Óscar Fuentes <address@hidden> writes:
> 
> > 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.
> 
> 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 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]