all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* vc-print-log vs. bzr log
@ 2012-09-15 13:07 Stephen Berman
  2012-09-15 13:37 ` Andreas Schwab
  2012-09-15 13:51 ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Stephen Berman @ 2012-09-15 13:07 UTC (permalink / raw)
  To: emacs-devel

When I'm visiting a file on a local branch of the Emacs bzr trunk and
type `M-! bzr log -r-1 RET' I see the log entry in less than one second.
When I type `C-x v l RET RET' ±19 seconds elapse before the log is
displayed (and the lag time is the same if I limit the display to one
entry).  Is this time difference expected?  Is there a quicker way to
view log entries within VC?

Steve Berman




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 13:07 vc-print-log vs. bzr log Stephen Berman
@ 2012-09-15 13:37 ` Andreas Schwab
  2012-09-15 14:56   ` Stephen Berman
  2012-09-15 13:51 ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Andreas Schwab @ 2012-09-15 13:37 UTC (permalink / raw)
  To: Stephen Berman; +Cc: emacs-devel

Stephen Berman <stephen.berman@gmx.net> writes:

> When I'm visiting a file on a local branch of the Emacs bzr trunk and
> type `M-! bzr log -r-1 RET' I see the log entry in less than one second.

Try again passing the file name.  Does it make a difference?

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 13:07 vc-print-log vs. bzr log Stephen Berman
  2012-09-15 13:37 ` Andreas Schwab
@ 2012-09-15 13:51 ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2012-09-15 13:51 UTC (permalink / raw)
  To: Stephen Berman; +Cc: emacs-devel

> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Sat, 15 Sep 2012 15:07:03 +0200
> 
> When I'm visiting a file on a local branch of the Emacs bzr trunk and
> type `M-! bzr log -r-1 RET' I see the log entry in less than one second.
> When I type `C-x v l RET RET' ±19 seconds elapse before the log is
> displayed (and the lag time is the same if I limit the display to one
> entry).  Is this time difference expected?

Yes, to some degree, because these two commands do 2 different things.
The first one shows the last commit in the branch.  The second one
shows the commits only to the file you are visiting, which means
digging deeper into the version history.

However, even if the file you are visiting is the one modified by the
last revision, bzr is slower when a file argument is passed.  I guess
this is something to report as a bug to bzr bug tracker.

Btw, did you really mean "C-x v l RET RET", or did you mean something
like "C-u C-x v l RET 1 RET"?  If the former, then by default C-x v l
does not prompt for anything, so I have no opportunity to type RET
twice.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 13:37 ` Andreas Schwab
@ 2012-09-15 14:56   ` Stephen Berman
  2012-09-15 15:45     ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Stephen Berman @ 2012-09-15 14:56 UTC (permalink / raw)
  To: emacs-devel

On Sat, 15 Sep 2012 15:37:13 +0200 Andreas Schwab <schwab@linux-m68k.org> wrote:

> Stephen Berman <stephen.berman@gmx.net> writes:
>
>> When I'm visiting a file on a local branch of the Emacs bzr trunk and
>> type `M-! bzr log -r-1 RET' I see the log entry in less than one second.
>
> Try again passing the file name.  Does it make a difference?

Somewhat; see below.

On Sat, 15 Sep 2012 16:51:33 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Sat, 15 Sep 2012 15:07:03 +0200
>> 
>> When I'm visiting a file on a local branch of the Emacs bzr trunk and
>> type `M-! bzr log -r-1 RET' I see the log entry in less than one second.
>> When I type `C-x v l RET RET' ±19 seconds elapse before the log is
>> displayed (and the lag time is the same if I limit the display to one
>> entry).  Is this time difference expected?
>
> Yes, to some degree, because these two commands do 2 different things.
> The first one shows the last commit in the branch.  The second one
> shows the commits only to the file you are visiting, which means
> digging deeper into the version history.

I understand that, but ±19 seconds vs <1 second?  Is that the best VC
can do?

> However, even if the file you are visiting is the one modified by the
> last revision, bzr is slower when a file argument is passed.  

I see this too, but it's still very much quicker than VC.  Here are some
timing tests, with emacs -Q:

From /data/steve/bzr/emacs/quickfixes/ typing `M-! time bzr log -r-1':

real	0m0.428s
user	0m0.305s
sys	0m0.053s

From outside of this branch typing `M-! time bzr log -r-1
/data/steve/bzr/emacs/quickfixes/':

real	0m0.484s
user	0m0.323s
sys	0m0.044s

From outside of this branch typing `M-! time bzr log -r-1
/data/steve/bzr/emacs/quickfixes/lisp/':

real	0m1.330s
user	0m0.957s
sys	0m0.106s

From outside of this branch typing `M-! time bzr log -r-1
/data/steve/bzr/emacs/quickfixes/lisp/gnus/:

real	0m0.760s
user	0m0.480s
sys	0m0.083s

From outside of this branch typing `M-! time bzr log -r-1
/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-group.el' (where this
file is the one modified by the last revision on this branch):

real	0m0.612s
user	0m0.404s
sys	0m0.066s

From outside of this branch typing `M-! time bzr log -r-1
/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-agent.el' (where this
file is not the one modified by the last revision on this branch):

real	0m0.557s
user	0m0.384s
sys	0m0.067s

>                                                               I guess
> this is something to report as a bug to bzr bug tracker.
>
> Btw, did you really mean "C-x v l RET RET", or did you mean something
> like "C-u C-x v l RET 1 RET"?

Yes, sorry, I mistakenly omitted the prefix argument (from my posting,
not from the command I typed in Emacs).

Steve Berman



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 14:56   ` Stephen Berman
@ 2012-09-15 15:45     ` Eli Zaretskii
  2012-09-15 16:04       ` Stephen Berman
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2012-09-15 15:45 UTC (permalink / raw)
  To: Stephen Berman; +Cc: emacs-devel

> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Sat, 15 Sep 2012 16:56:50 +0200
> 
> I understand that, but ±19 seconds vs <1 second?  Is that the best VC
> can do?

If you see very different times inside and outside Emacs, then indeed
something might be wrong with VC.  But before you conclude that, I'd
suggest to look up the commands that Emacs ran in your ~/.bzr.log, and
then run them, verbatim, from the shell prompt.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 15:45     ` Eli Zaretskii
@ 2012-09-15 16:04       ` Stephen Berman
  2012-09-15 16:28         ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Stephen Berman @ 2012-09-15 16:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Sat, 15 Sep 2012 18:45:01 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Sat, 15 Sep 2012 16:56:50 +0200
>> 
>> I understand that, but ±19 seconds vs <1 second?  Is that the best VC
>> can do?
>
> If you see very different times inside and outside Emacs, then indeed
> something might be wrong with VC.  But before you conclude that, I'd
> suggest to look up the commands that Emacs ran in your ~/.bzr.log, and
> then run them, verbatim, from the shell prompt.

Here's a comparison between the shell command with M-!:

Sat 2012-09-15 16:46:33 +0200
0.182  bazaar version: 2.5.1
0.182  bzr arguments: [u'log', u'-r-1', u'/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-group.el']
0.186  looking for plugins in /home/steve/.bazaar/plugins
0.196  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
0.226  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
0.240  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.309  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.417  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.480  return code 0

and `C-u C-x v l RET RET' on the same file:

Sat 2012-09-15 17:56:19 +0200
0.167  bazaar version: 2.5.1
0.167  bzr arguments: [u'log', u'-l', u'1', u'gnus-group.el']
0.171  looking for plugins in /home/steve/.bazaar/plugins
0.179  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
0.203  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
0.211  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.277  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.359  encoding stdout as osutils.get_user_encoding() 'utf-8'
18.561  return code 0

What is happening between the last two entries that takes 18 seconds?

Steve Berman



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 16:04       ` Stephen Berman
@ 2012-09-15 16:28         ` Eli Zaretskii
  2012-09-15 17:36           ` Stephen Berman
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2012-09-15 16:28 UTC (permalink / raw)
  To: Stephen Berman; +Cc: emacs-devel

> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: emacs-devel@gnu.org
> Date: Sat, 15 Sep 2012 18:04:24 +0200
> 
> Here's a comparison between the shell command with M-!:
> 
> Sat 2012-09-15 16:46:33 +0200
> 0.182  bazaar version: 2.5.1
> 0.182  bzr arguments: [u'log', u'-r-1', u'/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-group.el']
> 0.186  looking for plugins in /home/steve/.bazaar/plugins
> 0.196  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
> 0.226  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
> 0.240  encoding stdout as osutils.get_user_encoding() 'utf-8'
> 0.309  opening working tree '/data/steve/bzr/emacs/quickfixes'
> 0.417  encoding stdout as osutils.get_user_encoding() 'utf-8'
> 0.480  return code 0
> 
> and `C-u C-x v l RET RET' on the same file:
> 
> Sat 2012-09-15 17:56:19 +0200
> 0.167  bazaar version: 2.5.1
> 0.167  bzr arguments: [u'log', u'-l', u'1', u'gnus-group.el']
> 0.171  looking for plugins in /home/steve/.bazaar/plugins
> 0.179  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
> 0.203  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
> 0.211  encoding stdout as osutils.get_user_encoding() 'utf-8'
> 0.277  opening working tree '/data/steve/bzr/emacs/quickfixes'
> 0.359  encoding stdout as osutils.get_user_encoding() 'utf-8'
> 18.561  return code 0
> 
> What is happening between the last two entries that takes 18 seconds?

That's when bzr does the actual job of accessing the branch meta-data
and getting the information you asked for.

Do you see the above in "emacs -Q" as well?

What do you see in ~/.bzr.log if you invoke

  bzr log -l1 gnus-group.el

from the shell prompt?  If you see the same 18 sec, does it help to
say

  bzr --no-plugins log -l1 gnus-group.el

instead?



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 16:28         ` Eli Zaretskii
@ 2012-09-15 17:36           ` Stephen Berman
  2012-09-15 17:56             ` Andreas Schwab
  2012-09-15 19:36             ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Stephen Berman @ 2012-09-15 17:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Sat, 15 Sep 2012 19:28:53 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Cc: emacs-devel@gnu.org
>> Date: Sat, 15 Sep 2012 18:04:24 +0200
>> 
>> Here's a comparison between the shell command with M-!:
>> 
>> Sat 2012-09-15 16:46:33 +0200
>> 0.182  bazaar version: 2.5.1
>> 0.182 bzr arguments: [u'log', u'-r-1',
>> u'/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-group.el']
>> 0.186  looking for plugins in /home/steve/.bazaar/plugins
>> 0.196  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
>> 0.226  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
>> 0.240  encoding stdout as osutils.get_user_encoding() 'utf-8'
>> 0.309  opening working tree '/data/steve/bzr/emacs/quickfixes'
>> 0.417  encoding stdout as osutils.get_user_encoding() 'utf-8'
>> 0.480  return code 0
>> 
>> and `C-u C-x v l RET RET' on the same file:
>> 
>> Sat 2012-09-15 17:56:19 +0200
>> 0.167  bazaar version: 2.5.1
>> 0.167  bzr arguments: [u'log', u'-l', u'1', u'gnus-group.el']
>> 0.171  looking for plugins in /home/steve/.bazaar/plugins
>> 0.179  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
>> 0.203  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
>> 0.211  encoding stdout as osutils.get_user_encoding() 'utf-8'
>> 0.277  opening working tree '/data/steve/bzr/emacs/quickfixes'
>> 0.359  encoding stdout as osutils.get_user_encoding() 'utf-8'
>> 18.561  return code 0
>> 
>> What is happening between the last two entries that takes 18 seconds?
>
> That's when bzr does the actual job of accessing the branch meta-data
> and getting the information you asked for.
>
> Do you see the above in "emacs -Q" as well?

Yes, and the difference is even a bit larger:

Sat 2012-09-15 19:21:08 +0200
0.170  bazaar version: 2.5.1
0.171  bzr arguments: [u'log', u'-r-1', u'/data/steve/bzr/emacs/quickfixes/lisp/gnus/gnus-group.el']
0.174  looking for plugins in /home/steve/.bazaar/plugins
0.182  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
0.206  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
0.217  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.278  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.367  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.419  return code 0

Sat 2012-09-15 19:21:50 +0200
0.203  bazaar version: 2.5.1
0.203  bzr arguments: [u'log', u'-l', u'1', u'gnus-group.el']
0.207  looking for plugins in /home/steve/.bazaar/plugins
0.215  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
0.239  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
0.247  encoding stdout as osutils.get_user_encoding() 'utf-8'
0.309  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.395  encoding stdout as osutils.get_user_encoding() 'utf-8'
19.272  return code 0


> What do you see in ~/.bzr.log if you invoke
>
>   bzr log -l1 gnus-group.el
>
> from the shell prompt?  

Sat 2012-09-15 19:26:14 +0200
0.127  bazaar version: 2.5.1
0.127  bzr arguments: [u'log', u'-l1', u'gnus-group.el']
0.131  looking for plugins in /home/steve/.bazaar/plugins
0.139  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
0.163  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
0.171  encoding stdout as sys.stdout encoding 'UTF-8'
0.228  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.312  encoding stdout as sys.stdout encoding 'UTF-8'
18.968  Transferred: 0kB (0.0kB/s r:0kB w:0kB)
18.968  return code 0

>                         If you see the same 18 sec, does it help to
> say
>
>   bzr --no-plugins log -l1 gnus-group.el
>
> instead?

No, it's even worse:

Sat 2012-09-15 19:26:56 +0200
0.155  bazaar version: 2.5.1
0.155  bzr arguments: [u'--no-plugins', u'log', u'-l1', u'gnus-group.el']
0.168  encoding stdout as sys.stdout encoding 'UTF-8'
0.243  opening working tree '/data/steve/bzr/emacs/quickfixes'
0.328  encoding stdout as sys.stdout encoding 'UTF-8'
19.122  Transferred: 0kB (0.0kB/s r:0kB w:0kB)
19.122  return code 0

In any case, obviously this is a bzr issue, not an Emacs one.  Or can we
make VC also get the quicker bzr -r-1 results?

Steve Berman



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 17:36           ` Stephen Berman
@ 2012-09-15 17:56             ` Andreas Schwab
  2012-09-15 19:36             ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Andreas Schwab @ 2012-09-15 17:56 UTC (permalink / raw)
  To: Stephen Berman; +Cc: Eli Zaretskii, emacs-devel

Stephen Berman <stephen.berman@gmx.net> writes:

> make VC also get the quicker bzr -r-1 results?

-r-1 and -l1 are quite different.  The first only looks at the last
commit (so you get no output for files not modified there), whereas the
latter always outputs one commit (if the file is tracked at all).

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: vc-print-log vs. bzr log
  2012-09-15 17:36           ` Stephen Berman
  2012-09-15 17:56             ` Andreas Schwab
@ 2012-09-15 19:36             ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2012-09-15 19:36 UTC (permalink / raw)
  To: Stephen Berman; +Cc: emacs-devel

> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: emacs-devel@gnu.org
> Date: Sat, 15 Sep 2012 19:36:01 +0200
> 
> > What do you see in ~/.bzr.log if you invoke
> >
> >   bzr log -l1 gnus-group.el
> >
> > from the shell prompt?  
> 
> Sat 2012-09-15 19:26:14 +0200
> 0.127  bazaar version: 2.5.1
> 0.127  bzr arguments: [u'log', u'-l1', u'gnus-group.el']
> 0.131  looking for plugins in /home/steve/.bazaar/plugins
> 0.139  looking for plugins in /usr/lib64/python2.7/site-packages/bzrlib/plugins
> 0.163  looking for plugins in /usr/lib/python2.7/site-packages/bzrlib/plugins
> 0.171  encoding stdout as sys.stdout encoding 'UTF-8'
> 0.228  opening working tree '/data/steve/bzr/emacs/quickfixes'
> 0.312  encoding stdout as sys.stdout encoding 'UTF-8'
> 18.968  Transferred: 0kB (0.0kB/s r:0kB w:0kB)
> 18.968  return code 0

So it's bzr itself, not VC.  I guess a bug report to the bzr bug
tracker is in order, after all.




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-09-15 19:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-15 13:07 vc-print-log vs. bzr log Stephen Berman
2012-09-15 13:37 ` Andreas Schwab
2012-09-15 14:56   ` Stephen Berman
2012-09-15 15:45     ` Eli Zaretskii
2012-09-15 16:04       ` Stephen Berman
2012-09-15 16:28         ` Eli Zaretskii
2012-09-15 17:36           ` Stephen Berman
2012-09-15 17:56             ` Andreas Schwab
2012-09-15 19:36             ` Eli Zaretskii
2012-09-15 13:51 ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.