unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Surely 'bzr branch' shouldn't be this slow?
@ 2010-01-03 17:47 Alan Mackenzie
  2010-01-03 17:59 ` Óscar Fuentes
  0 siblings, 1 reply; 40+ messages in thread
From: Alan Mackenzie @ 2010-01-03 17:47 UTC (permalink / raw)
  To: emacs-devel

Hi, all,

Having created a local copy of the bzr repository in my directory
~/emacs/emacs.bzr/trunk, I then went to create the now familiar
quickfixes branch from it, with this command:

    $ time bzr branch emacs.bzr/trunk/ quickfixes/

.  This took over 39 minutes at 100% CPU usage.  For comparison, a full
build on my machine takes ~33 minutes.

What on Earth is going on here?  Surely creating a branch (which,
essentially, is just copying or linking files) should take at most a few
seconds.

Is there some configuration setting (or something) I've missed?

-- 
Alan Mackenzie (Nuremberg, Germany).




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-03 17:47 Surely 'bzr branch' shouldn't be this slow? Alan Mackenzie
@ 2010-01-03 17:59 ` Óscar Fuentes
  2010-01-06 13:10   ` Alan Mackenzie
  0 siblings, 1 reply; 40+ messages in thread
From: Óscar Fuentes @ 2010-01-03 17:59 UTC (permalink / raw)
  To: emacs-devel; +Cc: Alan Mackenzie

Alan Mackenzie <acm@muc.de> writes:

> Hi, all,
>
> Having created a local copy of the bzr repository in my directory
> ~/emacs/emacs.bzr/trunk, I then went to create the now familiar
> quickfixes branch from it, with this command:
>
>     $ time bzr branch emacs.bzr/trunk/ quickfixes/
>
> .  This took over 39 minutes at 100% CPU usage.  For comparison, a full
> build on my machine takes ~33 minutes.
>
> What on Earth is going on here?  Surely creating a branch (which,
> essentially, is just copying or linking files) should take at most a few
> seconds.
>
> Is there some configuration setting (or something) I've missed?

If you followed the recommended setup, your quickfixes/ branch should be
created within emacs.bzr/, which is the shared repo. Branching within a
shared repo is much faster because the new branch shares its history
with the previous one and the required time is reduced to creating the
working tree (the files you edit). Try it.

-- 
Óscar





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-03 17:59 ` Óscar Fuentes
@ 2010-01-06 13:10   ` Alan Mackenzie
  2010-01-06 13:28     ` Jason Rumney
                       ` (2 more replies)
  0 siblings, 3 replies; 40+ messages in thread
From: Alan Mackenzie @ 2010-01-06 13:10 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Hi, Óscar,

On Sun, Jan 03, 2010 at 06:59:10PM +0100, Óscar Fuentes wrote:
> Alan Mackenzie <acm@muc.de> writes:

> > Hi, all,

> > Having created a local copy of the bzr repository in my directory
> > ~/emacs/emacs.bzr/trunk, I then went to create the now familiar
> > quickfixes branch from it, with this command:

> >     $ time bzr branch emacs.bzr/trunk/ quickfixes/

> > .  This took over 39 minutes at 100% CPU usage.  For comparison, a full
> > build on my machine takes ~33 minutes.

> > What on Earth is going on here?  Surely creating a branch (which,
> > essentially, is just copying or linking files) should take at most a few
> > seconds.

> > Is there some configuration setting (or something) I've missed?

> If you followed the recommended setup, your quickfixes/ branch should be
> created within emacs.bzr/, which is the shared repo. Branching within a
> shared repo is much faster because the new branch shares its history
> with the previous one and the required time is reduced to creating the
> working tree (the files you edit). Try it.

Ah, right.  The .../quickfixes/ needs to be physically under .../trunk,
not just "related" to it.  Thanks!

But it still feels a bit strange that creating a branch in the "wrong"
place takes up 39 minutes of processing.

> -- 
> Óscar

-- 
Alan Mackenzie (Nuremberg, Germany).




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 13:10   ` Alan Mackenzie
@ 2010-01-06 13:28     ` Jason Rumney
  2010-01-06 14:06       ` Óscar Fuentes
  2010-01-06 14:37     ` Surely 'bzr branch' " Stefan Monnier
  2010-01-07  5:00     ` Karl Fogel
  2 siblings, 1 reply; 40+ messages in thread
From: Jason Rumney @ 2010-01-06 13:28 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

Alan Mackenzie wrote:

>>> Having created a local copy of the bzr repository in my directory
>>> ~/emacs/emacs.bzr/trunk, I then went to create the now familiar
>>> quickfixes branch from it, with this command:
>>>       
>
>   
>>>     $ time bzr branch emacs.bzr/trunk/ quickfixes/
>>>       
>
> Ah, right.  The .../quickfixes/ needs to be physically under .../trunk,
> not just "related" to it.  Thanks!
>   

I fear you may be heading for another 39 minute wait now.  quickfixes 
needs to be under emacs/emacs.bzr,
alongside trunk/, not under it.





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 13:28     ` Jason Rumney
@ 2010-01-06 14:06       ` Óscar Fuentes
  2010-01-06 18:23         ` Eli Zaretskii
  2010-01-07 13:40         ` Surely 'bzr update' shouldn't be this slow? [was: branch] Alan Mackenzie
  0 siblings, 2 replies; 40+ messages in thread
From: Óscar Fuentes @ 2010-01-06 14:06 UTC (permalink / raw)
  To: emacs-devel

Jason Rumney <jasonr@gnu.org> writes:

> Alan Mackenzie wrote:
>
>>>> Having created a local copy of the bzr repository in my directory
>>>> ~/emacs/emacs.bzr/trunk, I then went to create the now familiar
>>>> quickfixes branch from it, with this command:
>>>>       
>>
>>   
>>>>     $ time bzr branch emacs.bzr/trunk/ quickfixes/
>>>>       
>>
>> Ah, right.  The .../quickfixes/ needs to be physically under .../trunk,
>> not just "related" to it.  Thanks!
>>   
>
> I fear you may be heading for another 39 minute wait now.  quickfixes
> needs to be under emacs/emacs.bzr,
> alongside trunk/, not under it.

As far as the directories containing the branches are under the
directory that acts as the shared repository, you will benefit from the
fast operations the shared branch brings in. You can move and rename
branches within the shared repository (as long as they are not
referenced by other branches: if you work with the recommended
decentralized workflow, renaming `trunk' will require some tweaking on
the other branches.)

39 minutes for branching outside the shared repository corresponds to a
slow machine. It is 10 minutes on a GNU/Linux 2.4 GHz 64 bits
worksation-class machine. Bazaar is no speed daemon, but in this case it
has to process more than 200 MB of data (not merely copying it around.)

-- 
Óscar





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 13:10   ` Alan Mackenzie
  2010-01-06 13:28     ` Jason Rumney
@ 2010-01-06 14:37     ` Stefan Monnier
  2010-01-07  5:00     ` Karl Fogel
  2 siblings, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2010-01-06 14:37 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

> But it still feels a bit strange that creating a branch in the "wrong"
> place takes up 39 minutes of processing.

There's no question it's long.  It's the same reason why the original
checkout over the network is slow: a large part of the time is spent
waiting for Bazaar to decide what to do next and where to put what,
rather than waiting for the data to arrive from the remote end.


        Stefan




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 14:06       ` Óscar Fuentes
@ 2010-01-06 18:23         ` Eli Zaretskii
  2010-01-06 20:21           ` Stefan Monnier
  2010-01-07  7:44           ` Yavor Doganov
  2010-01-07 13:40         ` Surely 'bzr update' shouldn't be this slow? [was: branch] Alan Mackenzie
  1 sibling, 2 replies; 40+ messages in thread
From: Eli Zaretskii @ 2010-01-06 18:23 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar_Fuentes <ofv@wanadoo.es>
> Date: Wed, 06 Jan 2010 15:06:37 +0100
> 
> 39 minutes for branching outside the shared repository corresponds to a
> slow machine. It is 10 minutes on a GNU/Linux 2.4 GHz 64 bits
> worksation-class machine.

I don't think the time it takes to make the original branch (or a
branch outside the shared repo) is CPU-bound.  It took me 50 minutes
on a 3GHz Windows machine with a single hyperthreaded core, and the
CPU time used by bzr never went up to more than 25%.

It's possible that the speed of the network connection is much more
important.  Mine is 3.5Mbps, in case it matters.





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 18:23         ` Eli Zaretskii
@ 2010-01-06 20:21           ` Stefan Monnier
  2010-01-07  7:44           ` Yavor Doganov
  1 sibling, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2010-01-06 20:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Óscar Fuentes, emacs-devel

>> 39 minutes for branching outside the shared repository corresponds to a
>> slow machine. It is 10 minutes on a GNU/Linux 2.4 GHz 64 bits
>> worksation-class machine.

> I don't think the time it takes to make the original branch (or a
> branch outside the shared repo) is CPU-bound.  It took me 50 minutes
> on a 3GHz Windows machine with a single hyperthreaded core, and the
> CPU time used by bzr never went up to more than 25%.

It's both CPU and IO bound, last I tried.
It's just not very efficient.


        Stefan




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 13:10   ` Alan Mackenzie
  2010-01-06 13:28     ` Jason Rumney
  2010-01-06 14:37     ` Surely 'bzr branch' " Stefan Monnier
@ 2010-01-07  5:00     ` Karl Fogel
  2 siblings, 0 replies; 40+ messages in thread
From: Karl Fogel @ 2010-01-07  5:00 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

Alan Mackenzie <acm@muc.de> writes:
>Ah, right.  The .../quickfixes/ needs to be physically under .../trunk,
>not just "related" to it.  Thanks!

Wait, hunh?  No, they should be siblings... something sounds wrong here.

-Karl




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-06 18:23         ` Eli Zaretskii
  2010-01-06 20:21           ` Stefan Monnier
@ 2010-01-07  7:44           ` Yavor Doganov
  2010-01-07  8:37             ` Lennart Borgman
  2010-01-07 14:46             ` Stefan Monnier
  1 sibling, 2 replies; 40+ messages in thread
From: Yavor Doganov @ 2010-01-07  7:44 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii wrote:
> I don't think the time it takes to make the original branch (or a
> branch outside the shared repo) is CPU-bound.

It certainly is!  I've been fighting for 3 days now to branch on one
of my most powerful machines at home (AMD Duron 1.3 GHz, 500 MB RAM)
without success, and I gave up today.  Both sftp/http methods get
stuck around 275/300 MB, and the machine is experiencing sky high
loads; I can't even login.  I'm tired of killing bzr and restarting
the process; it always fails.

At work, on a Pentium IV 2 GHz/1G RAM it took me about an hour and a
half with a slower connection.

I guess if I compress the shared repo and scp it to my home machine,
it would work, right?





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07  7:44           ` Yavor Doganov
@ 2010-01-07  8:37             ` Lennart Borgman
  2010-01-07  9:31               ` Juanma Barranquero
                                 ` (2 more replies)
  2010-01-07 14:46             ` Stefan Monnier
  1 sibling, 3 replies; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07  8:37 UTC (permalink / raw)
  Cc: emacs-devel

On Thu, Jan 7, 2010 at 8:44 AM, Yavor Doganov <yavor@gnu.org> wrote:
> Eli Zaretskii wrote:
>> I don't think the time it takes to make the original branch (or a
>> branch outside the shared repo) is CPU-bound.
>
> It certainly is!  I've been fighting for 3 days now to branch on one
> of my most powerful machines at home (AMD Duron 1.3 GHz, 500 MB RAM)
> without success, and I gave up today.  Both sftp/http methods get
> stuck around 275/300 MB, and the machine is experiencing sky high
> loads; I can't even login.  I'm tired of killing bzr and restarting
> the process; it always fails.
>
> At work, on a Pentium IV 2 GHz/1G RAM it took me about an hour and a
> half with a slower connection.
>
> I guess if I compress the shared repo and scp it to my home machine,
> it would work, right?


Just a comment: I have not even tried yet to use bzr. According to
what I am reading it looks impossible at the moment.

Am I right or?




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07  8:37             ` Lennart Borgman
@ 2010-01-07  9:31               ` Juanma Barranquero
  2010-01-07 19:18               ` Stephen Berman
  2010-01-07 19:54               ` Eli Zaretskii
  2 siblings, 0 replies; 40+ messages in thread
From: Juanma Barranquero @ 2010-01-07  9:31 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: emacs-devel

On Thu, Jan 7, 2010 at 09:37, Lennart Borgman <lennart.borgman@gmail.com> wrote:

> According to
> what I am reading it looks impossible at the moment.
>
> Am I right or?

Yes, of course.

    Juanma




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

* Re: Surely 'bzr update' shouldn't be this slow?  [was: branch]
  2010-01-06 14:06       ` Óscar Fuentes
  2010-01-06 18:23         ` Eli Zaretskii
@ 2010-01-07 13:40         ` Alan Mackenzie
  2010-01-07 13:56           ` Surely 'bzr update' shouldn't be this slow? Óscar Fuentes
  2010-01-07 15:06           ` Stefan Monnier
  1 sibling, 2 replies; 40+ messages in thread
From: Alan Mackenzie @ 2010-01-07 13:40 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Hi, Óscar,

On Wed, Jan 06, 2010 at 03:06:37PM +0100, Óscar Fuentes wrote:
> Jason Rumney <jasonr@gnu.org> writes:

> > Alan Mackenzie wrote:

> >>>> Having created a local copy of the bzr repository in my directory
> >>>> ~/emacs/emacs.bzr/trunk, I then went to create the now familiar
> >>>> quickfixes branch from it, with this command:



> >>>>     $ time bzr branch emacs.bzr/trunk/ quickfixes/


> >> Ah, right.  The .../quickfixes/ needs to be physically under
> >> .../trunk, not just "related" to it.  Thanks!


> > I fear you may be heading for another 39 minute wait now.  quickfixes
> > needs to be under emacs/emacs.bzr, alongside trunk/, not under it.

Thanks!  Did that, and it took 33 seconds.  That's OK.

> As far as the directories containing the branches are under the
> directory that acts as the shared repository, you will benefit from the
> fast operations the shared branch brings in. You can move and rename
> branches within the shared repository (as long as they are not
> referenced by other branches: if you work with the recommended
> decentralized workflow, renaming `trunk' will require some tweaking on
> the other branches.)

OK.  Hopefully the other branches are referred to via a relative path
rather than an absolute one.

> 39 minutes for branching outside the shared repository corresponds to a
> slow machine. It is 10 minutes on a GNU/Linux 2.4 GHz 64 bits
> worksation-class machine. Bazaar is no speed daemon, but in this case it
> has to process more than 200 MB of data (not merely copying it around.)

I beg your pardon?  My machine is a 1.2 GHz Athlon.  That is NOT a slow
machine by any measure, except that even faster machines are now common.
Why does Bazaar need to "process" this data?  It's essentially doing
copying, with some accompanying administrivia.  Is it doing heavy number
crunching in Python, when it really needs a C module, or something like
that?

I just did a 'bzr update' on my .../trunk.  It took 23 minutes,
transferring nearly 200Mb to/from savannah in the process.  This compares
with all our source files (.c, .h, .el) being ~64Mb.  Could it be that
'bzr update' just downloads the whole repository again?  Or has somebody
else raised this issue on another thread that I've missed?

There seems to be a substantial mismatch between the assumptions of the
bzr project and the realities of the Emacs project.  My impression is
that bzr is so slow as to be barely usable at the moment.

> -- 
> Óscar

-- 
Alan Mackenzie (Nuremberg, Germany).




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 13:40         ` Surely 'bzr update' shouldn't be this slow? [was: branch] Alan Mackenzie
@ 2010-01-07 13:56           ` Óscar Fuentes
  2010-01-07 14:03             ` Lennart Borgman
  2010-01-07 14:52             ` Alan Mackenzie
  2010-01-07 15:06           ` Stefan Monnier
  1 sibling, 2 replies; 40+ messages in thread
From: Óscar Fuentes @ 2010-01-07 13:56 UTC (permalink / raw)
  To: emacs-devel

Alan Mackenzie <acm@muc.de> writes:

[snip]

>> 39 minutes for branching outside the shared repository corresponds to a
>> slow machine. It is 10 minutes on a GNU/Linux 2.4 GHz 64 bits
>> worksation-class machine. Bazaar is no speed daemon, but in this case it
>> has to process more than 200 MB of data (not merely copying it around.)
>
> I beg your pardon?  My machine is a 1.2 GHz Athlon.  That is NOT a slow
> machine by any measure, except that even faster machines are now
> common.

I think that that is the definition of "slow machine" :-)

> Why does Bazaar need to "process" this data?  It's essentially doing
> copying, with some accompanying administrivia.

It is not copying, and in that case it can't simply copy the data. A
shared repository contains data from all the branches it encloses. When
you branch from it, only the data that belongs to the branch you want
must be transferred.

I don't know why Bazaar does not copy the files under .bzr when you
clone a branch when it is on the same format that the target,
though. A good question for it ml.

> Is it doing heavy number crunching in Python, when it really needs a C
> module, or something like that?

The inner loops are written in C.

> I just did a 'bzr update' on my .../trunk.  It took 23 minutes,
> transferring nearly 200Mb to/from savannah in the process.  This compares
> with all our source files (.c, .h, .el) being ~64Mb.  Could it be that
> 'bzr update' just downloads the whole repository again?  Or has somebody
> else raised this issue on another thread that I've missed?

Yup, that was recently discussed here. It was an exceptional case (I
hope).

> There seems to be a substantial mismatch between the assumptions of the
> bzr project and the realities of the Emacs project.  My impression is
> that bzr is so slow as to be barely usable at the moment.

Apart from the 200MB download, do you think that bzr is too slow on your
daily Emacs work? Which operations are too slow for you?

Sometimes I work on a netbook, which maybe is comparable to your 1.2GHz
Athlon on CPU power, and some operations are slow indeed (>20 seconds
for the log of a file.) I raised this on the Bazaar ml, but most people
there think that Bazaar is fast enough and no extensive work is planned
for performance improvements.

-- 
Óscar





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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 13:56           ` Surely 'bzr update' shouldn't be this slow? Óscar Fuentes
@ 2010-01-07 14:03             ` Lennart Borgman
  2010-01-07 15:18               ` Jan Djärv
  2010-01-07 14:52             ` Alan Mackenzie
  1 sibling, 1 reply; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07 14:03 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

On Thu, Jan 7, 2010 at 2:56 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:

> Sometimes I work on a netbook, which maybe is comparable to your 1.2GHz
> Athlon on CPU power, and some operations are slow indeed (>20 seconds
> for the log of a file.) I raised this on the Bazaar ml, but most people
> there think that Bazaar is fast enough and no extensive work is planned
> for performance improvements.


If that is the case I really wonder what is wrong. We use to complain
that software from MS needs faster and faster machines.

It should of course not be like that for free software. It should not
pollute. It should not stop people who can't afford faster machines.




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07  7:44           ` Yavor Doganov
  2010-01-07  8:37             ` Lennart Borgman
@ 2010-01-07 14:46             ` Stefan Monnier
  2010-01-07 17:05               ` Yavor Doganov
  1 sibling, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2010-01-07 14:46 UTC (permalink / raw)
  To: Yavor Doganov; +Cc: emacs-devel

> It certainly is!  I've been fighting for 3 days now to branch on one
> of my most powerful machines at home (AMD Duron 1.3 GHz, 500 MB RAM)
> without success, and I gave up today.  Both sftp/http methods get
> stuck around 275/300 MB, and the machine is experiencing sky high
> loads; I can't even login.

Hard to believe the load goes high.  But it probably thrashes wildly
because Bzr ends up using more than 500MB.  That would also explain the
fact you can't login, which shouldn't be a problem with a high load.

> I guess if I compress the shared repo and scp it to my home machine,
> it would work, right?

Yes it would work just fine and be much faster.  But since it's
compressed already, you can skip the first step.


        Stefan




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 13:56           ` Surely 'bzr update' shouldn't be this slow? Óscar Fuentes
  2010-01-07 14:03             ` Lennart Borgman
@ 2010-01-07 14:52             ` Alan Mackenzie
  2010-01-07 15:00               ` Juanma Barranquero
                                 ` (2 more replies)
  1 sibling, 3 replies; 40+ messages in thread
From: Alan Mackenzie @ 2010-01-07 14:52 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Hi, Óscar,

On Thu, Jan 07, 2010 at 02:56:02PM +0100, Óscar Fuentes wrote:
> Alan Mackenzie <acm@muc.de> writes:

> [snip]

> > I beg your pardon?  My machine is a 1.2 GHz Athlon.  That is NOT a
> > slow machine by any measure, except that even faster machines are now
> > common.

> I think that that is the definition of "slow machine" :-)

It's a machine which is more than fast enough for every aspect of Emacs
development other than running bzr.

> > Why does Bazaar need to "process" this data?  It's essentially doing
> > copying, with some accompanying administrivia.

> It is not copying, and in that case it can't simply copy the data. A
> shared repository contains data from all the branches it encloses. When
> you branch from it, only the data that belongs to the branch you want
> must be transferred.

It IS copying, conceptually - the content of the branched repository
contains a portion of the original branch, and nothing else.  So it has
to do a bit of filtering on the files' logs.  There are ~2000 files in
Emacs, and that copying/filtering took 39 minutes, about 2300 seconds.
It's taking over a second per file (at ~100% CPU usage).  A second is
about how long my PC takes to compile each C file in .../emacs/src.

> I don't know why Bazaar does not copy the files under .bzr when you
> clone a branch when it is on the same format that the target,
> though. A good question for it ml.

> > Is it doing heavy number crunching in Python, when it really needs a C
> > module, or something like that?

> The inner loops are written in C.

> > I just did a 'bzr update' on my .../trunk.  It took 23 minutes,
> > transferring nearly 200Mb to/from savannah in the process.  This
> > compares with all our source files (.c, .h, .el) being ~64Mb.  Could
> > it be that 'bzr update' just downloads the whole repository again?
> > Or has somebody else raised this issue on another thread that I've
> > missed?

> Yup, that was recently discussed here. It was an exceptional case (I
> hope).

There have been, perhaps, ~100 files updated since I first downloaded the
repository last Friday.  For each changed file, bzr transferred ~2Mb
between my PC and savannah.  Why?  This is ludicrous.

Hopefully it was an exceptional case, but I'd not changed my .../trunk at
all since downloading it, so anything exceptional was at the savannah
end.

I'm about to fix a bug which will involve ~100 bytes change to a C file
and ~200 bytes log message and ChangeLog addition.  How much will the bzr
commit operation transfer?  Hopefully, several kilobytes, no more.

Any chance you could point out that other thread to me?

> > There seems to be a substantial mismatch between the assumptions of
> > the bzr project and the realities of the Emacs project.  My
> > impression is that bzr is so slow as to be barely usable at the
> > moment.

> Apart from the 200MB download, do you think that bzr is too slow on your
> daily Emacs work? Which operations are too slow for you?

Yes, bzr is too slow for me.  My first checkout took, perhaps, an hour
and a half, but I can cope with that.  'bzr branch' (to a random place)
took 40 minutes.  'bzr branch' to the Right Place took a few seconds, and
this is the only bzr thing I've done so far which has been reasonable.
'bzr update' took 23 minutes, and this is the killer, the operation which
will make Emacs development such a frustrating, miserable experience; on
CVS, it would have been faster on my 33MHz 486 with 33kbaud modem.

> Sometimes I work on a netbook, which maybe is comparable to your 1.2GHz
> Athlon on CPU power, and some operations are slow indeed (>20 seconds
> for the log of a file.) I raised this on the Bazaar ml, but most people
> there think that Bazaar is fast enough and no extensive work is planned
> for performance improvements.

Their basic assumptions don't match the Emacs project, for whatever
reason.

> -- 
> Óscar

-- 
Alan Mackenzie (Nuremberg, Germany).




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 14:52             ` Alan Mackenzie
@ 2010-01-07 15:00               ` Juanma Barranquero
  2010-01-07 15:17                 ` Karl Fogel
  2010-01-07 15:17               ` Óscar Fuentes
  2010-01-07 17:54               ` Stephen J. Turnbull
  2 siblings, 1 reply; 40+ messages in thread
From: Juanma Barranquero @ 2010-01-07 15:00 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

On Thu, Jan 7, 2010 at 15:52, Alan Mackenzie <acm@muc.de> wrote:

> Hopefully it was an exceptional case, but I'd not changed my .../trunk at
> all since downloading it, so anything exceptional was at the savannah
> end.

Yes.

> I'm about to fix a bug which will involve ~100 bytes change to a C file
> and ~200 bytes log message and ChangeLog addition.  How much will the bzr
> commit operation transfer?  Hopefully, several kilobytes, no more.

src/ChangeLog is already ~734 KiB.

> Yes, bzr is too slow for me.  My first checkout took, perhaps, an hour
> and a half, but I can cope with that.

OK.

> 'bzr branch' (to a random place)
> took 40 minutes.

Slow, but it's not a common operation (branching and not using a
shared repo, I mean).

> 'bzr update' took 23 minutes, and this is the killer, the operation which
> will make Emacs development such a frustrating, miserable experience; on
> CVS, it would have been faster on my 33MHz 486 with 33kbaud modem.

I just did "bzr up" and it took < 9s. You are generalizing from what
is already been described as an exceptional situation.

> Their basic assumptions don't match the Emacs project, for whatever
> reason.

Their basic assumption, which seems quite reasonable, is that people
will use the smart server, not sftp, for such a big project.

    Juanma




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 13:40         ` Surely 'bzr update' shouldn't be this slow? [was: branch] Alan Mackenzie
  2010-01-07 13:56           ` Surely 'bzr update' shouldn't be this slow? Óscar Fuentes
@ 2010-01-07 15:06           ` Stefan Monnier
  1 sibling, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2010-01-07 15:06 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

> I beg your pardon?  My machine is a 1.2 GHz Athlon.  That is NOT a slow
> machine by any measure, except that even faster machines are now common.

Agreed.  I use a similar machine every once in a while (Thinkpad X30)
and it's perfectly useable.  I haven't used it extensively for Emacs
hacking of late, but I have done some "bzr updates" of Emacs there and
didn't find it unbearable.
Note that Bzr is pretty memory hungry as well, so that might make
a larger difference (I have 768MB in my smallest/oldest/slowest
machine).

> Why does Bazaar need to "process" this data?  It's essentially doing
> copying, with some accompanying administrivia.  Is it doing heavy number
> crunching in Python, when it really needs a C module, or something like
> that?

The technical reason is that the repository (whether shared or not)
contains all the info for the branch you're copying, plus some more
(for other branches that are, or have been stored there, or other branches
which you have referred to from there (e.g. in a diff, merge, ...)).
So Bzr basically does a GC along the way, only extracting the bits that
are necessary, which means it unpacks and then repacks pretty much the
whole thing.

> I just did a 'bzr update' on my .../trunk.  It took 23 minutes,
> transferring nearly 200Mb to/from savannah in the process.  This compares
> with all our source files (.c, .h, .el) being ~64Mb.  Could it be that
> 'bzr update' just downloads the whole repository again?

Yes.  As mentioned, if the remote repository could be accessed via
bzr+ssh rather than sftp, it would be a bit better.

> Or has somebody else raised this issue on another thread that
> I've missed?

Of course.


        Stefan




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 15:00               ` Juanma Barranquero
@ 2010-01-07 15:17                 ` Karl Fogel
  2010-01-07 17:51                   ` Glenn Morris
  0 siblings, 1 reply; 40+ messages in thread
From: Karl Fogel @ 2010-01-07 15:17 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Óscar Fuentes, Alan Mackenzie, emacs-devel

Juanma Barranquero <lekktu@gmail.com> writes:
>> Their basic assumptions don't match the Emacs project, for whatever
>> reason.
>
>Their basic assumption, which seems quite reasonable, is that people
>will use the smart server, not sftp, for such a big project.

Yes.  I *think* we are having a savannah problem here, not a bzr
problem.  People may find it faster to use the Launchpad.net mirror of
Emacs until Savannah gets bzr+ssh:// access (smart server).

-Karl




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 14:52             ` Alan Mackenzie
  2010-01-07 15:00               ` Juanma Barranquero
@ 2010-01-07 15:17               ` Óscar Fuentes
  2010-01-07 17:54               ` Stephen J. Turnbull
  2 siblings, 0 replies; 40+ messages in thread
From: Óscar Fuentes @ 2010-01-07 15:17 UTC (permalink / raw)
  To: emacs-devel

Alan Mackenzie <acm@muc.de> writes:

[snip]

>> > Why does Bazaar need to "process" this data?  It's essentially doing
>> > copying, with some accompanying administrivia.
>
>> It is not copying, and in that case it can't simply copy the data. A
>> shared repository contains data from all the branches it encloses. When
>> you branch from it, only the data that belongs to the branch you want
>> must be transferred.
>
> It IS copying, conceptually - the content of the branched repository
> contains a portion of the original branch, and nothing else.  So it has
> to do a bit of filtering on the files' logs.  There are ~2000 files in
> Emacs, and that copying/filtering took 39 minutes, about 2300 seconds.
> It's taking over a second per file (at ~100% CPU usage).  A second is
> about how long my PC takes to compile each C file in .../emacs/src.

Things are not so simple. Please note that bzr stores almost 100,000
revisions of Emacs development in a bit more that 200 MB. And each
revision is related to other revisions and that relations needs
traversing. It is obvious that the storage system is far from trivial,
so any complexity assumption based on concepts like files or chunks of
bytes are, very likely, wrong.

>> Yup, that was recently discussed here. It was an exceptional case (I
>> hope).
>
> There have been, perhaps, ~100 files updated since I first downloaded the
> repository last Friday.  For each changed file, bzr transferred ~2Mb
> between my PC and savannah.  Why?  This is ludicrous.
>
> Hopefully it was an exceptional case, but I'd not changed my .../trunk at
> all since downloading it, so anything exceptional was at the savannah
> end.
>
> I'm about to fix a bug which will involve ~100 bytes change to a C file
> and ~200 bytes log message and ChangeLog addition.  How much will the bzr
> commit operation transfer?  Hopefully, several kilobytes, no more.

When bzr communicates with upstream by the http or sftp protocols, it
needs to read or write lots of data because the needed information is
scattered all over the repository files.

In theory, installing the Bazaar smart server in Savannah should fix
those problems.

> Any chance you could point out that other thread to me?

The subthread starts here:

http://article.gmane.org/gmane.emacs.devel/119410

>> Apart from the 200MB download, do you think that bzr is too slow on your
>> daily Emacs work? Which operations are too slow for you?
>
> Yes, bzr is too slow for me.  My first checkout took, perhaps, an hour
> and a half, but I can cope with that.  'bzr branch' (to a random place)
> took 40 minutes.  'bzr branch' to the Right Place took a few seconds, and
> this is the only bzr thing I've done so far which has been reasonable.
> 'bzr update' took 23 minutes, and this is the killer, the operation which
> will make Emacs development such a frustrating, miserable experience; on
> CVS, it would have been faster on my 33MHz 486 with 33kbaud modem.

If the exceptionally long time that it took for certain update is the
biggest problem you found so far, there is no reason to worry. Because
it is not usual (except for that case, bzr needs less than 3 minutes for
updating on my netbook) and because if it becomes too frequent people
here will force the Savannah maintainers to install the smart server.

[snip]

-- 
Óscar





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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 14:03             ` Lennart Borgman
@ 2010-01-07 15:18               ` Jan Djärv
  0 siblings, 0 replies; 40+ messages in thread
From: Jan Djärv @ 2010-01-07 15:18 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Óscar Fuentes, emacs-devel

Lennart Borgman skrev:
> On Thu, Jan 7, 2010 at 2:56 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:
> 
>> Sometimes I work on a netbook, which maybe is comparable to your 1.2GHz
>> Athlon on CPU power, and some operations are slow indeed (>20 seconds
>> for the log of a file.) I raised this on the Bazaar ml, but most people
>> there think that Bazaar is fast enough and no extensive work is planned
>> for performance improvements.
> 
> 
> If that is the case I really wonder what is wrong. 

With bzr or the bzr developers? :-)
A bzr pull for the trunk takes 25-30 seconds when there is nothing to pull.
CVS took 4-5 seconds in the same case.  This is critical, as pulling from the 
trunk is done quite often.  Other operations are also slow (commit to the 
trunk for instance).  It is on the edge of usable.

Maybe it is bad to compare to git:

- Bzr is slow!
- Compared to what?
- Git.
- Well, git is superfast compared to anything, that means bzr is not really
   slow.

	Jan D.




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 14:46             ` Stefan Monnier
@ 2010-01-07 17:05               ` Yavor Doganov
  2010-01-07 19:43                 ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Yavor Doganov @ 2010-01-07 17:05 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Yavor Doganov, emacs-devel

Stefan Monnier wrote:
> > Both sftp/http methods get stuck around 275/300 MB, and the
> > machine is experiencing sky high loads; I can't even login.
> 
> Hard to believe the load goes high.

It's pretty decent (0.5-1.5) in the first 1 hr or so, when the bzr
progress indicator is moving.  After it becomes (or at least appears
to be) stuck, the load goes nuts, increasing from 1.5 to 15 for a few
minutes, staying high for a while, falling back again, then up, etc.

> But it probably thrashes wildly because Bzr ends up using more than
> 500MB.

Indeed, it eats the memory + 500 MB swap, but there's still 500 MB
swap availaible, so I can't explain myself this behavior.

> > I guess if I compress the shared repo and scp it to my home machine,
> > it would work, right?
> 
> Yes it would work just fine and be much faster.

Yes, it worked nicely, although the download rate at the receiving end
was very low.  At least I finally have the sources, and can do `bzr
pull', etc.  Thanks.




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 15:17                 ` Karl Fogel
@ 2010-01-07 17:51                   ` Glenn Morris
  2010-01-07 20:48                     ` Karl Fogel
  0 siblings, 1 reply; 40+ messages in thread
From: Glenn Morris @ 2010-01-07 17:51 UTC (permalink / raw)
  To: Karl Fogel
  Cc: Óscar Fuentes, Juanma Barranquero, emacs-devel,
	Alan Mackenzie

Karl Fogel wrote:

> Yes.  I *think* we are having a savannah problem here, not a bzr
> problem.  People may find it faster to use the Launchpad.net mirror of
> Emacs until Savannah gets bzr+ssh:// access (smart server).

Have you tried asking rms to ask the Savannah admins to please make
improving support for GNU bzr a high priority?




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 14:52             ` Alan Mackenzie
  2010-01-07 15:00               ` Juanma Barranquero
  2010-01-07 15:17               ` Óscar Fuentes
@ 2010-01-07 17:54               ` Stephen J. Turnbull
  2 siblings, 0 replies; 40+ messages in thread
From: Stephen J. Turnbull @ 2010-01-07 17:54 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Óscar Fuentes, emacs-devel

Alan Mackenzie writes:

 > OK.  Hopefully the other branches are referred to via a relative path
 > rather than an absolute one.

Paths are resolved in the usual way on GNU/Linux and other POSIX
systems (ie, the shell globs, evaluates environment variable
references, and interprets special path elements like ~), and bzr
checks for an absolute path and otherwise resolves relative to CWD.

Windows is more complex but that's not relevant to you, right?

 > On Thu, Jan 07, 2010 at 02:56:02PM +0100, Óscar Fuentes wrote:
 > > Alan Mackenzie <acm@muc.de> writes:

 > > > Why does Bazaar need to "process" this data?  It's essentially doing
 > > > copying, with some accompanying administrivia.
 > 
 > > It is not copying, [...].
 > 
 > It IS copying, conceptually

Alan, don't be contrary.  Óscar is just telling you the facts, and
AIUI *he* would not have chosen bzr if it were up to him.  He's just
trying to help you and others make the best use of the official VCS.

 > - the content of the branched repository contains a portion of the
 > original branch, and nothing else.  So it has to do a bit of
 > filtering on the files' logs.

No, it has to do a lot more than that.  What it is doing is
conceptually most like garbage collection.  The actual content of a
repository is stored as a set of compressed archives of file objects,
revision objects, and patches, plus some indicies.  (These archives
are called "packs.")  The "processing" goes through those objects,
throws out the ones not needed for the branch you request, and
reconstructs minimal packs and indicies for them.

 > There have been, perhaps, ~100 files updated since I first downloaded the
 > repository last Friday.  For each changed file, bzr transferred ~2Mb
 > between my PC and savannah.  Why?  This is ludicrous.
 > 
 > Hopefully it was an exceptional case, but I'd not changed my .../trunk at
 > all since downloading it, so anything exceptional was at the savannah
 > end.

Exactly!  At this date, the main cause of that particular slowness is
not bzr, it's savannah-hackers, which chose the absolute worst
available way to implement bzr support.  (They had their reasons,
security-related, which given Savannah's history as a target seem
reasonably important to me.)

 > I'm about to fix a bug which will involve ~100 bytes change to a C file
 > and ~200 bytes log message and ChangeLog addition.  How much will the bzr
 > commit operation transfer?  Hopefully, several kilobytes, no more.

As much as it needs to, but until the issue with Savannah gets
addressed, the minimum you should hope for is one pack and the index
file, typically a few MB.

You'll know when it gets fixed because there will be an announcement
that you should use "bzr+ssh" URLs, not "http" or "sftp".

 > Any chance you could point out that other thread to me?

The issue that bzr can be damned slow if you don't tune your workflow
has been pretty well constantly active since late 2007.  I guess it
just faded into the rest of the background noise for you. :-)

 > Yes, bzr is too slow for me.  My first checkout took, perhaps, an hour
 > and a half, but I can cope with that.

By "checkout" you mean "bzr branch http://savannah.../path/to/emacs/trunk",
right?  ("bzr checkout" does something completely different and should
not take more than a handful of seconds.  Please don't remark about the
randomness of bzr command names, this particular choice makes sense in
the appropriate context.)

The 90-minute initial branch is something we'll just have to deal
with (probably you personally won't actually need to do it again!)

BTW, "bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs" just
now took 31:30 on my MacBook Pro (2.4GHz Intel Core2 Duo, 2GB RAM, Mac
OS X 10.5.8, Python 2.6.4) with bzr 2.0.1.  As others report, this is
CPU-bound, using 97% of one core.

 > 'bzr branch' (to a random place) took 40 minutes.

Are you sure the "random place" wasn't your CD-RW?  Just joking, but
that seems awfully long to me ("bzr branch emacs emacs.1" took 584
seconds, under 10 minutes for me, same box as above).  The only recent
reports I've seen on the Bazaar list in that league involve Windows
file systems or NFS mounts, so I wonder if there's something unusual
about your setup.  Are you on NFS?  If not, may I ask you to confirm
that your disk performance doesn't normally noticably suck, etc?

 > 'bzr branch' to the Right Place took a few seconds, and
 > this is the only bzr thing I've done so far which has been
 > reasonable.

It's also one of the things you're likely to do fairly frequently, and
minimizing its cost removes an important barrier to adopting best
practice.  So that's a good sign, even if so far it's rare in your
experience.

 > 'bzr update' took 23 minutes,

This is probably a one-off.  See the "BZR error!" thread, where Stefan
explains.

And the underlying problem is probably the Savannah misconfiguration,
which will eventually get fixed.

In any case, once you get the branch(es) you need locally, most
operations can be done locally, and with a little bit of care are all
reasonably fast.  Even while the Savannah issue remains open, once
Stefan et al finish tuning the arrangement of stuff in the main repo
(probably already done, actually), if you update your local branch
mirrors at least a couple of times a week you can probably hope to
limit each download to 10 or 20MB.

Or you can use the Launchpad mirror, as others have suggested.

 > Their basic assumptions don't match the Emacs project, for whatever
 > reason.

bzr was chosen for political reasons (it was the only GNU project
among the contenders), not because it was the best fit to existing
Emacs project practice.  The Emacs project therefore must adapt, and
that's part of the deal for Emacs developers.

It really shouldn't be that hard, but managing transitions in the GNU
Project is hard because the admins are spread so thinly.  Expect a few
more bumps, but really, there's no reason to expect that problems will
continue to be this frequent for more than a couple more weeks.






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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07  8:37             ` Lennart Borgman
  2010-01-07  9:31               ` Juanma Barranquero
@ 2010-01-07 19:18               ` Stephen Berman
  2010-01-07 19:54               ` Eli Zaretskii
  2 siblings, 0 replies; 40+ messages in thread
From: Stephen Berman @ 2010-01-07 19:18 UTC (permalink / raw)
  To: emacs-devel

On Thu, 7 Jan 2010 09:37:15 +0100 Lennart Borgman <lennart.borgman@gmail.com> wrote:

> On Thu, Jan 7, 2010 at 8:44 AM, Yavor Doganov <yavor@gnu.org> wrote:
>> Eli Zaretskii wrote:
>>> I don't think the time it takes to make the original branch (or a
>>> branch outside the shared repo) is CPU-bound.
>>
>> It certainly is!  I've been fighting for 3 days now to branch on one
>> of my most powerful machines at home (AMD Duron 1.3 GHz, 500 MB RAM)
>> without success, and I gave up today.  Both sftp/http methods get
>> stuck around 275/300 MB, and the machine is experiencing sky high
>> loads; I can't even login.  I'm tired of killing bzr and restarting
>> the process; it always fails.
>>
>> At work, on a Pentium IV 2 GHz/1G RAM it took me about an hour and a
>> half with a slower connection.
>>
>> I guess if I compress the shared repo and scp it to my home machine,
>> it would work, right?
>
>
> Just a comment: I have not even tried yet to use bzr. According to
> what I am reading it looks impossible at the moment.
>
> Am I right or?

Maybe I was lucky, but I successfully branched the trunk via http last
night, on my first try.  It took about 50 minutes for bzr to download
281 MB, then, as reported above, it appeared to stall for more than 10
minutes, but the bzr process continued to consume 80-90% CPU.  (This is
with an Athlon XP 2100+ (1.7 GHz) and 2 GB RAM over a rather slow
wireless connection.)  Just as I was about to kill it, it finished.  I
then made a quickfixes branch from the (now local) trunk, which took
only about 10 seconds, and bootstrapped from the quickfixes branch
without a problem.

Steve Berman





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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 17:05               ` Yavor Doganov
@ 2010-01-07 19:43                 ` Stefan Monnier
  2010-01-07 19:46                   ` Lennart Borgman
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2010-01-07 19:43 UTC (permalink / raw)
  To: emacs-devel; +Cc: Yavor Doganov

>> But it probably thrashes wildly because Bzr ends up using more than
>> 500MB.
> Indeed, it eats the memory + 500 MB swap, but there's still 500 MB
> swap availaible, so I can't explain myself this behavior.

The amount of swap left is mostly irrelevant.  What matters is that
there more memory in active use than the amount of RAM you have, so the
system spends its time moving data back&forth between RAM and swap,
which brings the whole system to a crawl.

http://en.wikipedia.org/wiki/Thrash_%28computer_science%29


        Stefan




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 19:43                 ` Stefan Monnier
@ 2010-01-07 19:46                   ` Lennart Borgman
  2010-01-07 20:26                     ` Thrashing [was: Surely 'bzr branch' shouldn't be this slow?] Stephen J. Turnbull
  0 siblings, 1 reply; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07 19:46 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Yavor Doganov, emacs-devel

On Thu, Jan 7, 2010 at 8:43 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>>> But it probably thrashes wildly because Bzr ends up using more than
>>> 500MB.
>> Indeed, it eats the memory + 500 MB swap, but there's still 500 MB
>> swap availaible, so I can't explain myself this behavior.
>
> The amount of swap left is mostly irrelevant.  What matters is that
> there more memory in active use than the amount of RAM you have, so the
> system spends its time moving data back&forth between RAM and swap,
> which brings the whole system to a crawl.
>
> http://en.wikipedia.org/wiki/Thrash_%28computer_science%29


Is it the design or the algorithm that are the problem?




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07  8:37             ` Lennart Borgman
  2010-01-07  9:31               ` Juanma Barranquero
  2010-01-07 19:18               ` Stephen Berman
@ 2010-01-07 19:54               ` Eli Zaretskii
  2010-01-07 20:09                 ` Lennart Borgman
  2 siblings, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2010-01-07 19:54 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: emacs-devel

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Thu, 7 Jan 2010 09:37:15 +0100
> Cc: emacs-devel@gnu.org
> 
> Just a comment: I have not even tried yet to use bzr. According to
> what I am reading it looks impossible at the moment.
> 
> Am I right or?

It's both possible and practical.  I use it on 2 different Windows
machines and on 1 GNU/Linux one, and it works quite well.  The initial
"bzr branch" takes a long time, but that's all.




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 19:54               ` Eli Zaretskii
@ 2010-01-07 20:09                 ` Lennart Borgman
  2010-01-07 21:48                   ` Jason Earl
  2010-01-08  8:13                   ` Eli Zaretskii
  0 siblings, 2 replies; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07 20:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Thu, 7 Jan 2010 09:37:15 +0100
>> Cc: emacs-devel@gnu.org
>>
>> Just a comment: I have not even tried yet to use bzr. According to
>> what I am reading it looks impossible at the moment.
>>
>> Am I right or?
>
> It's both possible and practical.  I use it on 2 different Windows
> machines and on 1 GNU/Linux one, and it works quite well.  The initial
> "bzr branch" takes a long time, but that's all.


And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?




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

* Re: Thrashing [was: Surely 'bzr branch' shouldn't be this slow?]
  2010-01-07 20:26                     ` Thrashing [was: Surely 'bzr branch' shouldn't be this slow?] Stephen J. Turnbull
@ 2010-01-07 20:20                       ` Lennart Borgman
  0 siblings, 0 replies; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07 20:20 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Yavor Doganov, Stefan Monnier, emacs-devel

On Thu, Jan 7, 2010 at 9:26 PM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
> Lennart Borgman writes:
>
>  > Is it the design or the algorithm that are the problem?
>
> Neither.  It's Intel advertising that makes people think that GHz are
> as useful as GB.  If you have a choice to make between buying more GHz
> and buying more GB, as a rule of thumb you won't go wrong by taking
> the latter.


Are you saying the algorithm is future proof? ;-)




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

* Thrashing [was: Surely 'bzr branch' shouldn't be this slow?]
  2010-01-07 19:46                   ` Lennart Borgman
@ 2010-01-07 20:26                     ` Stephen J. Turnbull
  2010-01-07 20:20                       ` Lennart Borgman
  0 siblings, 1 reply; 40+ messages in thread
From: Stephen J. Turnbull @ 2010-01-07 20:26 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Yavor Doganov, Stefan Monnier, emacs-devel

Lennart Borgman writes:

 > Is it the design or the algorithm that are the problem?

Neither.  It's Intel advertising that makes people think that GHz are
as useful as GB.  If you have a choice to make between buying more GHz
and buying more GB, as a rule of thumb you won't go wrong by taking
the latter.





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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 17:51                   ` Glenn Morris
@ 2010-01-07 20:48                     ` Karl Fogel
  2010-01-07 21:21                       ` Glenn Morris
  2010-01-08  8:48                       ` Eli Zaretskii
  0 siblings, 2 replies; 40+ messages in thread
From: Karl Fogel @ 2010-01-07 20:48 UTC (permalink / raw)
  To: Glenn Morris
  Cc: Óscar Fuentes, Juanma Barranquero, emacs-devel,
	Alan Mackenzie

Glenn Morris <rgm@gnu.org> writes:
>Karl Fogel wrote:
>
>> Yes.  I *think* we are having a savannah problem here, not a bzr
>> problem.  People may find it faster to use the Launchpad.net mirror of
>> Emacs until Savannah gets bzr+ssh:// access (smart server).
>
>Have you tried asking rms to ask the Savannah admins to please make
>improving support for GNU bzr a high priority?

I've made similar requests of RMS before, and his response was:

  "Mail the Savannah admins list and CC me."

which seems like a reasonable course of action.

Someone here want to do it?




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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 20:48                     ` Karl Fogel
@ 2010-01-07 21:21                       ` Glenn Morris
  2010-01-08  8:48                       ` Eli Zaretskii
  1 sibling, 0 replies; 40+ messages in thread
From: Glenn Morris @ 2010-01-07 21:21 UTC (permalink / raw)
  To: Karl Fogel
  Cc: Óscar Fuentes, Juanma Barranquero, emacs-devel,
	Alan Mackenzie

Karl Fogel wrote:

> Someone here want to do it?

I see Stefan (and you) already said pretty much all there is to say
back in November:

https://savannah.gnu.org/support/?107077#comment13

It tailed off into a discussion of commit emails, but that's resolved
now isn't it?




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 20:09                 ` Lennart Borgman
@ 2010-01-07 21:48                   ` Jason Earl
  2010-01-07 23:48                     ` Lennart Borgman
  2010-01-08  8:13                   ` Eli Zaretskii
  1 sibling, 1 reply; 40+ messages in thread
From: Jason Earl @ 2010-01-07 21:48 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Eli Zaretskii, emacs-devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>> From: Lennart Borgman <lennart.borgman@gmail.com>
>>> Date: Thu, 7 Jan 2010 09:37:15 +0100
>>> Cc: emacs-devel@gnu.org
>>>
>>> Just a comment: I have not even tried yet to use bzr. According to
>>> what I am reading it looks impossible at the moment.
>>>
>>> Am I right or?
>>
>> It's both possible and practical.  I use it on 2 different Windows
>> machines and on 1 GNU/Linux one, and it works quite well.  The initial
>> "bzr branch" takes a long time, but that's all.
>
>
> And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?

I use it with a netbook with 1GB of Ram and no swap.  It works fine.  I
will admit that I have switched to pulling from launchpad, but I did my
initial pull from Savannah.

Jason




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 21:48                   ` Jason Earl
@ 2010-01-07 23:48                     ` Lennart Borgman
  2010-01-08  2:07                       ` Jason Earl
  0 siblings, 1 reply; 40+ messages in thread
From: Lennart Borgman @ 2010-01-07 23:48 UTC (permalink / raw)
  To: Jason Earl; +Cc: Eli Zaretskii, emacs-devel

On Thu, Jan 7, 2010 at 10:48 PM, Jason Earl <jearl@notengoamigos.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>>> From: Lennart Borgman <lennart.borgman@gmail.com>
>>>> Date: Thu, 7 Jan 2010 09:37:15 +0100
>>>> Cc: emacs-devel@gnu.org
>>>>
>>>> Just a comment: I have not even tried yet to use bzr. According to
>>>> what I am reading it looks impossible at the moment.
>>>>
>>>> Am I right or?
>>>
>>> It's both possible and practical.  I use it on 2 different Windows
>>> machines and on 1 GNU/Linux one, and it works quite well.  The initial
>>> "bzr branch" takes a long time, but that's all.
>>
>>
>> And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?
>
> I use it with a netbook with 1GB of Ram and no swap.  It works fine.  I
> will admit that I have switched to pulling from launchpad, but I did my
> initial pull from Savannah.

How long did the initial pull take on this machine? (Sorry if you have
told already. Are the figures perhaps on the wiki?) How fast is your
internet?

And doing the initial pull from Launchpad instead how much faster is it?




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 23:48                     ` Lennart Borgman
@ 2010-01-08  2:07                       ` Jason Earl
  2010-01-08  7:10                         ` Lennart Borgman
  0 siblings, 1 reply; 40+ messages in thread
From: Jason Earl @ 2010-01-08  2:07 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Eli Zaretskii, emacs-devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Thu, Jan 7, 2010 at 10:48 PM, Jason Earl <jearl@notengoamigos.org> wrote:
>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>
>>> On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>>>> From: Lennart Borgman <lennart.borgman@gmail.com>
>>>>> Date: Thu, 7 Jan 2010 09:37:15 +0100
>>>>> Cc: emacs-devel@gnu.org
>>>>>
>>>>> Just a comment: I have not even tried yet to use bzr. According to
>>>>> what I am reading it looks impossible at the moment.
>>>>>
>>>>> Am I right or?
>>>>
>>>> It's both possible and practical.  I use it on 2 different Windows
>>>> machines and on 1 GNU/Linux one, and it works quite well.  The initial
>>>> "bzr branch" takes a long time, but that's all.
>>>
>>>
>>> And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?
>>
>> I use it with a netbook with 1GB of Ram and no swap.  It works fine.  I
>> will admit that I have switched to pulling from launchpad, but I did my
>> initial pull from Savannah.
>
> How long did the initial pull take on this machine? (Sorry if you have
> told already. Are the figures perhaps on the wiki?) How fast is your
> internet?

Just for fun I did it again into a new repository.  While there were
times when my netbook struggled, for the most part it appeared that my
crappy wireless network connection was the bottleneck.

time bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk/ trunk
Branched 99273 revision(s).                                                                

real    56m30.346s
user    34m10.160s
sys     0m32.638s

Then I tested to see how long it took to see if there were more
revisions.  There weren't any.

time bzr pull
Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/
No revisions to pull.                                                                      

real    0m8.109s
user    0m1.672s
sys     0m0.272s

This is on a wireless network.

> And doing the initial pull from Launchpad instead how much faster is it?

Launchpad actually took at little longer:

time bzr pull --remember lp:emacs
No revisions to pull.                                                                      

real    0m10.246s
user    0m1.108s
sys     0m0.180s

The advantage of using launchpad is that you will never get the
pathologically bad updates where bzr pulls down 100M of data to make 2M
worth of changes.  The disadvantage is that it is a mirror that updates
only every 8 hours.

Jason




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-08  2:07                       ` Jason Earl
@ 2010-01-08  7:10                         ` Lennart Borgman
  0 siblings, 0 replies; 40+ messages in thread
From: Lennart Borgman @ 2010-01-08  7:10 UTC (permalink / raw)
  To: Jason Earl; +Cc: Eli Zaretskii, emacs-devel

On Fri, Jan 8, 2010 at 3:07 AM, Jason Earl <jearl@notengoamigos.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> On Thu, Jan 7, 2010 at 10:48 PM, Jason Earl <jearl@notengoamigos.org> wrote:
>>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>>
>>>> On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>>>>> From: Lennart Borgman <lennart.borgman@gmail.com>
>>>>>> Date: Thu, 7 Jan 2010 09:37:15 +0100
>>>>>> Cc: emacs-devel@gnu.org
>>>>>>
>>>>>> Just a comment: I have not even tried yet to use bzr. According to
>>>>>> what I am reading it looks impossible at the moment.
>>>>>>
>>>>>> Am I right or?
>>>>>
>>>>> It's both possible and practical.  I use it on 2 different Windows
>>>>> machines and on 1 GNU/Linux one, and it works quite well.  The initial
>>>>> "bzr branch" takes a long time, but that's all.
>>>>
>>>>
>>>> And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?
>>>
>>> I use it with a netbook with 1GB of Ram and no swap.  It works fine.  I
>>> will admit that I have switched to pulling from launchpad, but I did my
>>> initial pull from Savannah.
>>
>> How long did the initial pull take on this machine? (Sorry if you have
>> told already. Are the figures perhaps on the wiki?) How fast is your
>> internet?
>
> Just for fun I did it again into a new repository.  While there were
> times when my netbook struggled, for the most part it appeared that my
> crappy wireless network connection was the bottleneck.
>
> time bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk/ trunk
> Branched 99273 revision(s).
>
> real    56m30.346s
> user    34m10.160s
> sys     0m32.638s
>
> Then I tested to see how long it took to see if there were more
> revisions.  There weren't any.
>
> time bzr pull
> Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/
> No revisions to pull.
>
> real    0m8.109s
> user    0m1.672s
> sys     0m0.272s
>
> This is on a wireless network.
>
>> And doing the initial pull from Launchpad instead how much faster is it?
>
> Launchpad actually took at little longer:
>
> time bzr pull --remember lp:emacs
> No revisions to pull.
>
> real    0m10.246s
> user    0m1.108s
> sys     0m0.180s
>
> The advantage of using launchpad is that you will never get the
> pathologically bad updates where bzr pulls down 100M of data to make 2M
> worth of changes.  The disadvantage is that it is a mirror that updates
> only every 8 hours.


Thanks Jason, very clear and instructive. The road for me at the
moment seems to be Launchpad. The 8 hours does not matter right now,
but the the 100 MB does.




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

* Re: Surely 'bzr branch' shouldn't be this slow?
  2010-01-07 20:09                 ` Lennart Borgman
  2010-01-07 21:48                   ` Jason Earl
@ 2010-01-08  8:13                   ` Eli Zaretskii
  1 sibling, 0 replies; 40+ messages in thread
From: Eli Zaretskii @ 2010-01-08  8:13 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: emacs-devel

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Thu, 7 Jan 2010 21:09:02 +0100
> Cc: emacs-devel@gnu.org
> 
> On Thu, Jan 7, 2010 at 8:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> >> From: Lennart Borgman <lennart.borgman@gmail.com>
> >> Date: Thu, 7 Jan 2010 09:37:15 +0100
> >> Cc: emacs-devel@gnu.org
> >>
> >> Just a comment: I have not even tried yet to use bzr. According to
> >> what I am reading it looks impossible at the moment.
> >>
> >> Am I right or?
> >
> > It's both possible and practical.  I use it on 2 different Windows
> > machines and on 1 GNU/Linux one, and it works quite well.  The initial
> > "bzr branch" takes a long time, but that's all.
> 
> 
> And with a 2Mbit/s connection and an Alan style pc, 1GB RAM?

That's about what I have here, maybe slightly less.  I won't expect
any special trouble.  Why won't you try it?





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

* Re: Surely 'bzr update' shouldn't be this slow?
  2010-01-07 20:48                     ` Karl Fogel
  2010-01-07 21:21                       ` Glenn Morris
@ 2010-01-08  8:48                       ` Eli Zaretskii
  1 sibling, 0 replies; 40+ messages in thread
From: Eli Zaretskii @ 2010-01-08  8:48 UTC (permalink / raw)
  To: Karl Fogel; +Cc: ofv, emacs-devel, acm, lekktu

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Thu, 07 Jan 2010 15:48:00 -0500
> Cc: =?utf-8?Q?=C3=93scar?= Fuentes <ofv@wanadoo.es>,
> 	Juanma Barranquero <lekktu@gmail.com>, emacs-devel@gnu.org,
> 	Alan Mackenzie <acm@muc.de>
> 
> Glenn Morris <rgm@gnu.org> writes:
> >Karl Fogel wrote:
> >
> >> Yes.  I *think* we are having a savannah problem here, not a bzr
> >> problem.  People may find it faster to use the Launchpad.net mirror of
> >> Emacs until Savannah gets bzr+ssh:// access (smart server).
> >
> >Have you tried asking rms to ask the Savannah admins to please make
> >improving support for GNU bzr a high priority?
> 
> I've made similar requests of RMS before, and his response was:
> 
>   "Mail the Savannah admins list and CC me."
> 
> which seems like a reasonable course of action.
> 
> Someone here want to do it?

Done.




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

end of thread, other threads:[~2010-01-08  8:48 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-03 17:47 Surely 'bzr branch' shouldn't be this slow? Alan Mackenzie
2010-01-03 17:59 ` Óscar Fuentes
2010-01-06 13:10   ` Alan Mackenzie
2010-01-06 13:28     ` Jason Rumney
2010-01-06 14:06       ` Óscar Fuentes
2010-01-06 18:23         ` Eli Zaretskii
2010-01-06 20:21           ` Stefan Monnier
2010-01-07  7:44           ` Yavor Doganov
2010-01-07  8:37             ` Lennart Borgman
2010-01-07  9:31               ` Juanma Barranquero
2010-01-07 19:18               ` Stephen Berman
2010-01-07 19:54               ` Eli Zaretskii
2010-01-07 20:09                 ` Lennart Borgman
2010-01-07 21:48                   ` Jason Earl
2010-01-07 23:48                     ` Lennart Borgman
2010-01-08  2:07                       ` Jason Earl
2010-01-08  7:10                         ` Lennart Borgman
2010-01-08  8:13                   ` Eli Zaretskii
2010-01-07 14:46             ` Stefan Monnier
2010-01-07 17:05               ` Yavor Doganov
2010-01-07 19:43                 ` Stefan Monnier
2010-01-07 19:46                   ` Lennart Borgman
2010-01-07 20:26                     ` Thrashing [was: Surely 'bzr branch' shouldn't be this slow?] Stephen J. Turnbull
2010-01-07 20:20                       ` Lennart Borgman
2010-01-07 13:40         ` Surely 'bzr update' shouldn't be this slow? [was: branch] Alan Mackenzie
2010-01-07 13:56           ` Surely 'bzr update' shouldn't be this slow? Óscar Fuentes
2010-01-07 14:03             ` Lennart Borgman
2010-01-07 15:18               ` Jan Djärv
2010-01-07 14:52             ` Alan Mackenzie
2010-01-07 15:00               ` Juanma Barranquero
2010-01-07 15:17                 ` Karl Fogel
2010-01-07 17:51                   ` Glenn Morris
2010-01-07 20:48                     ` Karl Fogel
2010-01-07 21:21                       ` Glenn Morris
2010-01-08  8:48                       ` Eli Zaretskii
2010-01-07 15:17               ` Óscar Fuentes
2010-01-07 17:54               ` Stephen J. Turnbull
2010-01-07 15:06           ` Stefan Monnier
2010-01-06 14:37     ` Surely 'bzr branch' " Stefan Monnier
2010-01-07  5:00     ` Karl Fogel

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).