bzr-explorer performance question
Maritza Mendez
martitzam at gmail.com
Tue Jun 29 00:34:15 BST 2010
On Sun, Jun 27, 2010 at 12:52 PM, John Arbash Meinel <john at arbash-meinel.com
> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> ...
>
> > Step 4A: refresh working pane in bzr-explorer
> > -- a few seconds (less than 10sec) for Ubuntu
> > -- 4.5 minutes for Windows (!)
> >
>
> ...
>
> > Since the test conditions are anecdotal (but the results are
> > reproducible!) the only result I am really concerned about is in step
> > 4. It appears that refreshing the "status window" takes a very long
> > time on Windows, during which one core of the CPU is saturated. But
> > doing a 'bzr stat' on the very same trunk on Windows is fast. Could
> > there be something strange about how bzr-explorer builds the status?
> > What exactly could 'refresh' be doing which could take 4.5 minutes?
> >
> > Thanks.
> > ~M
> >
>
> One thing to check. Do:
>
> bzr co --lightweight $SOURCE new-workingtree
> cd new-workingtree
> time bzr status
>
> And see what the timing is. The specific thing we are looking for is the
> time of the *first* status.
>
> It is *possible* that we aren't getting the timestamp => sha1 cache
> getting written correctly during the checkout. Which is causing us to
> recompute the sha1 sum of your entire tree.
>
> IIRC, the potential issue is because:
>
> f = open('foo', 'rb')
> st1 = os.fstat(f)
> st2 = os.lstat('foo')
>
> On everything but Windows, those give identical results. However on
> Windows, they might differ. And IIRC the way that they differ is
> different for different versions of python. (2.5 used st_dev, 2.6 uses
> st_ino, or something along those lines.)
>
> Anyway, if you are experiencing this:
>
> a) We can fix it by just ignoring those fields, but we need to know what
> to ignore.
>
> b) It should only effect the first status/refresh that you do. All
> others should still be in the 'couple of seconds' range.
>
> John
> =:->
>
>
John,
I was able to repeat this experiment on without the access errors. (I do
not knwo why I was getting access errors yesterday -- especially logged in
as root -- but that may be unrelated.)
bzr co --lightweight ./trunk ./co
cd co
bzr status # takes 33.5 seconds
bzr status # takes 0.8 second
bzr status # takes 0.8 second
So, yes, it does appear that the first 'bzr stat' after a checkout takes
longer than subsequent runs -- but noweher near the 4.5 minutes that
bzr-explorer took.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20100628/64fda9be/attachment.htm
More information about the bazaar
mailing list