bzr-explorer performance question

John Arbash Meinel john at arbash-meinel.com
Sun Jun 27 20:52:04 BST 2010


-----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
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwnq+QACgkQJdeBCYSNAAMk3wCgnQwRAGQ13EdhEPkKvyexoOaV
k8oAnA3BlouiVAi6M5r9Mcgw06xQGY4t
=mbIh
-----END PGP SIGNATURE-----



More information about the bazaar mailing list